The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_F303VC/TARGET_STM/TARGET_STM32F3/device/stm32f3xx_ll_hrtim.h@168:b9e159c1930a
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 163:e59c8e839560 1 /**
AnnaBridge 163:e59c8e839560 2 ******************************************************************************
AnnaBridge 163:e59c8e839560 3 * @file stm32f3xx_ll_hrtim.h
AnnaBridge 163:e59c8e839560 4 * @author MCD Application Team
AnnaBridge 163:e59c8e839560 5 * @brief Header file of HRTIM LL module.
AnnaBridge 163:e59c8e839560 6 ******************************************************************************
AnnaBridge 163:e59c8e839560 7 * @attention
AnnaBridge 163:e59c8e839560 8 *
AnnaBridge 163:e59c8e839560 9 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 163:e59c8e839560 10 *
AnnaBridge 163:e59c8e839560 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 163:e59c8e839560 12 * are permitted provided that the following conditions are met:
AnnaBridge 163:e59c8e839560 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 163:e59c8e839560 14 * this list of conditions and the following disclaimer.
AnnaBridge 163:e59c8e839560 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 163:e59c8e839560 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 163:e59c8e839560 17 * and/or other materials provided with the distribution.
AnnaBridge 163:e59c8e839560 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 163:e59c8e839560 19 * may be used to endorse or promote products derived from this software
AnnaBridge 163:e59c8e839560 20 * without specific prior written permission.
AnnaBridge 163:e59c8e839560 21 *
AnnaBridge 163:e59c8e839560 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 163:e59c8e839560 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 163:e59c8e839560 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 163:e59c8e839560 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 163:e59c8e839560 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 163:e59c8e839560 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 163:e59c8e839560 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 163:e59c8e839560 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 163:e59c8e839560 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 163:e59c8e839560 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 163:e59c8e839560 32 *
AnnaBridge 163:e59c8e839560 33 ******************************************************************************
AnnaBridge 163:e59c8e839560 34 */
AnnaBridge 163:e59c8e839560 35
AnnaBridge 163:e59c8e839560 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 163:e59c8e839560 37 #ifndef __STM32F3xx_LL_HRTIM_H
AnnaBridge 163:e59c8e839560 38 #define __STM32F3xx_LL_HRTIM_H
AnnaBridge 163:e59c8e839560 39
AnnaBridge 163:e59c8e839560 40 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 41 extern "C" {
AnnaBridge 163:e59c8e839560 42 #endif
AnnaBridge 163:e59c8e839560 43
AnnaBridge 163:e59c8e839560 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 45 #include "stm32f3xx.h"
AnnaBridge 163:e59c8e839560 46
AnnaBridge 163:e59c8e839560 47 /** @addtogroup STM32F3xx_LL_Driver
AnnaBridge 163:e59c8e839560 48 * @{
AnnaBridge 163:e59c8e839560 49 */
AnnaBridge 163:e59c8e839560 50
AnnaBridge 163:e59c8e839560 51 #if defined (HRTIM1)
AnnaBridge 163:e59c8e839560 52
AnnaBridge 163:e59c8e839560 53 /** @defgroup HRTIM_LL HRTIM
AnnaBridge 163:e59c8e839560 54 * @{
AnnaBridge 163:e59c8e839560 55 */
AnnaBridge 163:e59c8e839560 56
AnnaBridge 163:e59c8e839560 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 59 /** @defgroup HRTIM_LL_Private_Variables HRTIM Private Variables
AnnaBridge 163:e59c8e839560 60 * @{
AnnaBridge 163:e59c8e839560 61 */
AnnaBridge 163:e59c8e839560 62 static const uint16_t REG_OFFSET_TAB_TIMER[] =
AnnaBridge 163:e59c8e839560 63 {
AnnaBridge 163:e59c8e839560 64 0x00U, /* 0: MASTER */
AnnaBridge 163:e59c8e839560 65 0x80U, /* 1: TIMER A */
AnnaBridge 163:e59c8e839560 66 0x100U, /* 2: TIMER B */
AnnaBridge 163:e59c8e839560 67 0x180U, /* 3: TIMER C */
AnnaBridge 163:e59c8e839560 68 0x200U, /* 4: TIMER D */
AnnaBridge 163:e59c8e839560 69 0x280U, /* 5: TIMER E */
AnnaBridge 163:e59c8e839560 70 };
AnnaBridge 163:e59c8e839560 71
AnnaBridge 163:e59c8e839560 72 static const uint8_t REG_OFFSET_TAB_ADCxR[] =
AnnaBridge 163:e59c8e839560 73 {
AnnaBridge 163:e59c8e839560 74 0x00U, /* 0: HRTIM_ADC1R */
AnnaBridge 163:e59c8e839560 75 0x04U, /* 1: HRTIM_ADC2R */
AnnaBridge 163:e59c8e839560 76 0x08U, /* 2: HRTIM_ADC3R */
AnnaBridge 163:e59c8e839560 77 0x0CU, /* 3: HRTIM_ADC4R */
AnnaBridge 163:e59c8e839560 78 };
AnnaBridge 163:e59c8e839560 79
AnnaBridge 163:e59c8e839560 80 static const uint16_t REG_OFFSET_TAB_SETxR[] =
AnnaBridge 163:e59c8e839560 81 {
AnnaBridge 163:e59c8e839560 82 0x00U, /* 0: TA1 */
AnnaBridge 163:e59c8e839560 83 0x08U, /* 1: TA2 */
AnnaBridge 163:e59c8e839560 84 0x80U, /* 2: TB1 */
AnnaBridge 163:e59c8e839560 85 0x88U, /* 3: TB2 */
AnnaBridge 163:e59c8e839560 86 0x100U, /* 4: TC1 */
AnnaBridge 163:e59c8e839560 87 0x108U, /* 5: TC2 */
AnnaBridge 163:e59c8e839560 88 0x180U, /* 6: TD1 */
AnnaBridge 163:e59c8e839560 89 0x188U, /* 7: TD2 */
AnnaBridge 163:e59c8e839560 90 0x200U, /* 8: TE1 */
AnnaBridge 163:e59c8e839560 91 0x208U /* 9: TE2 */
AnnaBridge 163:e59c8e839560 92 };
AnnaBridge 163:e59c8e839560 93
AnnaBridge 163:e59c8e839560 94 static const uint16_t REG_OFFSET_TAB_OUTxR[] =
AnnaBridge 163:e59c8e839560 95 {
AnnaBridge 163:e59c8e839560 96 0x00U, /* 0: TA1 */
AnnaBridge 163:e59c8e839560 97 0x00U, /* 1: TA2 */
AnnaBridge 163:e59c8e839560 98 0x80U, /* 2: TB1 */
AnnaBridge 163:e59c8e839560 99 0x80U, /* 3: TB2 */
AnnaBridge 163:e59c8e839560 100 0x100U, /* 4: TC1 */
AnnaBridge 163:e59c8e839560 101 0x100U, /* 5: TC2 */
AnnaBridge 163:e59c8e839560 102 0x180U, /* 6: TD1 */
AnnaBridge 163:e59c8e839560 103 0x180U, /* 7: TD2 */
AnnaBridge 163:e59c8e839560 104 0x200U, /* 8: TE1 */
AnnaBridge 163:e59c8e839560 105 0x200U /* 9: TE2 */
AnnaBridge 163:e59c8e839560 106 };
AnnaBridge 163:e59c8e839560 107
AnnaBridge 163:e59c8e839560 108
AnnaBridge 163:e59c8e839560 109 static const uint8_t REG_OFFSET_TAB_OUT_LEVEL[] =
AnnaBridge 163:e59c8e839560 110 {
AnnaBridge 163:e59c8e839560 111 0x04U, /* 0: LL_HRTIM_OUT_LEVEL_INACTIVE */
AnnaBridge 163:e59c8e839560 112 0x00U /* 1: LL_HRTIM_OUT_LEVEL_ACTIVE */
AnnaBridge 163:e59c8e839560 113 };
AnnaBridge 163:e59c8e839560 114
AnnaBridge 163:e59c8e839560 115 static const uint8_t REG_OFFSET_TAB_EECR[] =
AnnaBridge 163:e59c8e839560 116 {
AnnaBridge 163:e59c8e839560 117 0x00U, /* LL_HRTIM_EVENT_1 */
AnnaBridge 163:e59c8e839560 118 0x00U, /* LL_HRTIM_EVENT_2 */
AnnaBridge 163:e59c8e839560 119 0x00U, /* LL_HRTIM_EVENT_3 */
AnnaBridge 163:e59c8e839560 120 0x00U, /* LL_HRTIM_EVENT_4 */
AnnaBridge 163:e59c8e839560 121 0x00U, /* LL_HRTIM_EVENT_5 */
AnnaBridge 163:e59c8e839560 122 0x04U, /* LL_HRTIM_EVENT_6 */
AnnaBridge 163:e59c8e839560 123 0x04U, /* LL_HRTIM_EVENT_7 */
AnnaBridge 163:e59c8e839560 124 0x04U, /* LL_HRTIM_EVENT_8 */
AnnaBridge 163:e59c8e839560 125 0x04U, /* LL_HRTIM_EVENT_9 */
AnnaBridge 163:e59c8e839560 126 0x04U /* LL_HRTIM_EVENT_10 */
AnnaBridge 163:e59c8e839560 127 };
AnnaBridge 163:e59c8e839560 128
AnnaBridge 163:e59c8e839560 129 static const uint8_t REG_OFFSET_TAB_FLTINR[] =
AnnaBridge 163:e59c8e839560 130 {
AnnaBridge 163:e59c8e839560 131 0x00U, /* LL_HRTIM_FAULT_1 */
AnnaBridge 163:e59c8e839560 132 0x00U, /* LL_HRTIM_FAULT_2 */
AnnaBridge 163:e59c8e839560 133 0x00U, /* LL_HRTIM_FAULT_3 */
AnnaBridge 163:e59c8e839560 134 0x00U, /* LL_HRTIM_FAULT_4 */
AnnaBridge 163:e59c8e839560 135 0x04U /* LL_HRTIM_FAULT_5 */
AnnaBridge 163:e59c8e839560 136 };
AnnaBridge 163:e59c8e839560 137
AnnaBridge 163:e59c8e839560 138 static const uint32_t REG_MASK_TAB_UPDATETRIG[] =
AnnaBridge 163:e59c8e839560 139 {
AnnaBridge 163:e59c8e839560 140 0x20000000U, /* 0: MASTER */
AnnaBridge 163:e59c8e839560 141 0x01FE0000U, /* 1: TIMER A */
AnnaBridge 163:e59c8e839560 142 0x01FE0000U, /* 2: TIMER B */
AnnaBridge 163:e59c8e839560 143 0x01FE0000U, /* 3: TIMER C */
AnnaBridge 163:e59c8e839560 144 0x01FE0000U, /* 4: TIMER D */
AnnaBridge 163:e59c8e839560 145 0x01FE0000U, /* 5: TIMER E */
AnnaBridge 163:e59c8e839560 146 };
AnnaBridge 163:e59c8e839560 147
AnnaBridge 163:e59c8e839560 148 static const uint8_t REG_SHIFT_TAB_UPDATETRIG[] =
AnnaBridge 163:e59c8e839560 149 {
AnnaBridge 163:e59c8e839560 150 12U, /* 0: MASTER */
AnnaBridge 163:e59c8e839560 151 0U, /* 1: TIMER A */
AnnaBridge 163:e59c8e839560 152 0U, /* 2: TIMER B */
AnnaBridge 163:e59c8e839560 153 0U, /* 3: TIMER C */
AnnaBridge 163:e59c8e839560 154 0U, /* 4: TIMER D */
AnnaBridge 163:e59c8e839560 155 0U, /* 5: TIMER E */
AnnaBridge 163:e59c8e839560 156 };
AnnaBridge 163:e59c8e839560 157
AnnaBridge 163:e59c8e839560 158 static const uint8_t REG_SHIFT_TAB_EExSRC[] =
AnnaBridge 163:e59c8e839560 159 {
AnnaBridge 163:e59c8e839560 160 0U, /* LL_HRTIM_EVENT_1 */
AnnaBridge 163:e59c8e839560 161 6U, /* LL_HRTIM_EVENT_2 */
AnnaBridge 163:e59c8e839560 162 12U, /* LL_HRTIM_EVENT_3 */
AnnaBridge 163:e59c8e839560 163 18U, /* LL_HRTIM_EVENT_4 */
AnnaBridge 163:e59c8e839560 164 24U, /* LL_HRTIM_EVENT_5 */
AnnaBridge 163:e59c8e839560 165 0U, /* LL_HRTIM_EVENT_6 */
AnnaBridge 163:e59c8e839560 166 6U, /* LL_HRTIM_EVENT_7 */
AnnaBridge 163:e59c8e839560 167 12U, /* LL_HRTIM_EVENT_8 */
AnnaBridge 163:e59c8e839560 168 18U, /* LL_HRTIM_EVENT_9 */
AnnaBridge 163:e59c8e839560 169 24U /* LL_HRTIM_EVENT_10 */
AnnaBridge 163:e59c8e839560 170 };
AnnaBridge 163:e59c8e839560 171
AnnaBridge 163:e59c8e839560 172 static const uint32_t REG_MASK_TAB_UPDATEGATING[] =
AnnaBridge 163:e59c8e839560 173 {
AnnaBridge 163:e59c8e839560 174 HRTIM_MCR_BRSTDMA, /* 0: MASTER */
AnnaBridge 163:e59c8e839560 175 HRTIM_TIMCR_UPDGAT, /* 1: TIMER A */
AnnaBridge 163:e59c8e839560 176 HRTIM_TIMCR_UPDGAT, /* 2: TIMER B */
AnnaBridge 163:e59c8e839560 177 HRTIM_TIMCR_UPDGAT, /* 3: TIMER C */
AnnaBridge 163:e59c8e839560 178 HRTIM_TIMCR_UPDGAT, /* 4: TIMER D */
AnnaBridge 163:e59c8e839560 179 HRTIM_TIMCR_UPDGAT, /* 5: TIMER E */
AnnaBridge 163:e59c8e839560 180 };
AnnaBridge 163:e59c8e839560 181
AnnaBridge 163:e59c8e839560 182 static const uint8_t REG_SHIFT_TAB_UPDATEGATING[] =
AnnaBridge 163:e59c8e839560 183 {
AnnaBridge 163:e59c8e839560 184 2U, /* 0: MASTER */
AnnaBridge 163:e59c8e839560 185 0U, /* 1: TIMER A */
AnnaBridge 163:e59c8e839560 186 0U, /* 2: TIMER B */
AnnaBridge 163:e59c8e839560 187 0U, /* 3: TIMER C */
AnnaBridge 163:e59c8e839560 188 0U, /* 4: TIMER D */
AnnaBridge 163:e59c8e839560 189 0U, /* 5: TIMER E */
AnnaBridge 163:e59c8e839560 190 };
AnnaBridge 163:e59c8e839560 191
AnnaBridge 163:e59c8e839560 192 static const uint8_t REG_SHIFT_TAB_OUTxR[] =
AnnaBridge 163:e59c8e839560 193 {
AnnaBridge 163:e59c8e839560 194 0U, /* 0: TA1 */
AnnaBridge 163:e59c8e839560 195 16U, /* 1: TA2 */
AnnaBridge 163:e59c8e839560 196 0U, /* 2: TB1 */
AnnaBridge 163:e59c8e839560 197 16U, /* 3: TB2 */
AnnaBridge 163:e59c8e839560 198 0U, /* 4: TC1 */
AnnaBridge 163:e59c8e839560 199 16U, /* 5: TC2 */
AnnaBridge 163:e59c8e839560 200 0U, /* 6: TD1 */
AnnaBridge 163:e59c8e839560 201 16U, /* 7: TD2 */
AnnaBridge 163:e59c8e839560 202 0U, /* 8: TE1 */
AnnaBridge 163:e59c8e839560 203 16U /* 9: TE2 */
AnnaBridge 163:e59c8e839560 204 };
AnnaBridge 163:e59c8e839560 205
AnnaBridge 163:e59c8e839560 206 static const uint8_t REG_SHIFT_TAB_OxSTAT[] =
AnnaBridge 163:e59c8e839560 207 {
AnnaBridge 163:e59c8e839560 208 0U, /* 0: TA1 */
AnnaBridge 163:e59c8e839560 209 1U, /* 1: TA2 */
AnnaBridge 163:e59c8e839560 210 0U, /* 2: TB1 */
AnnaBridge 163:e59c8e839560 211 1U, /* 3: TB2 */
AnnaBridge 163:e59c8e839560 212 0U, /* 4: TC1 */
AnnaBridge 163:e59c8e839560 213 1U, /* 5: TC2 */
AnnaBridge 163:e59c8e839560 214 0U, /* 6: TD1 */
AnnaBridge 163:e59c8e839560 215 1U, /* 7: TD2 */
AnnaBridge 163:e59c8e839560 216 0U, /* 8: TE1 */
AnnaBridge 163:e59c8e839560 217 1U /* 9: TE2 */
AnnaBridge 163:e59c8e839560 218 };
AnnaBridge 163:e59c8e839560 219
AnnaBridge 163:e59c8e839560 220 static const uint8_t REG_SHIFT_TAB_FLTxE[] =
AnnaBridge 163:e59c8e839560 221 {
AnnaBridge 163:e59c8e839560 222 0U, /* LL_HRTIM_FAULT_1 */
AnnaBridge 163:e59c8e839560 223 8U, /* LL_HRTIM_FAULT_2 */
AnnaBridge 163:e59c8e839560 224 16U, /* LL_HRTIM_FAULT_3 */
AnnaBridge 163:e59c8e839560 225 24U, /* LL_HRTIM_FAULT_4 */
AnnaBridge 163:e59c8e839560 226 0U /* LL_HRTIM_FAULT_5 */
AnnaBridge 163:e59c8e839560 227 };
AnnaBridge 163:e59c8e839560 228
AnnaBridge 163:e59c8e839560 229 /**
AnnaBridge 163:e59c8e839560 230 * @}
AnnaBridge 163:e59c8e839560 231 */
AnnaBridge 163:e59c8e839560 232
AnnaBridge 163:e59c8e839560 233
AnnaBridge 163:e59c8e839560 234 /* Private constants ---------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 235 /** @defgroup HRTIM_LL_Private_Constants HRTIM Private Constants
AnnaBridge 163:e59c8e839560 236 * @{
AnnaBridge 163:e59c8e839560 237 */
AnnaBridge 163:e59c8e839560 238 #define HRTIM_CR1_UDIS_MASK ((uint32_t)(HRTIM_CR1_MUDIS |\
AnnaBridge 163:e59c8e839560 239 HRTIM_CR1_TAUDIS |\
AnnaBridge 163:e59c8e839560 240 HRTIM_CR1_TBUDIS |\
AnnaBridge 163:e59c8e839560 241 HRTIM_CR1_TCUDIS |\
AnnaBridge 163:e59c8e839560 242 HRTIM_CR1_TDUDIS |\
AnnaBridge 163:e59c8e839560 243 HRTIM_CR1_TEUDIS))
AnnaBridge 163:e59c8e839560 244
AnnaBridge 163:e59c8e839560 245 #define HRTIM_CR2_SWUPD_MASK ((uint32_t)(HRTIM_CR2_MSWU |\
AnnaBridge 163:e59c8e839560 246 HRTIM_CR2_TASWU |\
AnnaBridge 163:e59c8e839560 247 HRTIM_CR2_TBSWU |\
AnnaBridge 163:e59c8e839560 248 HRTIM_CR2_TCSWU |\
AnnaBridge 163:e59c8e839560 249 HRTIM_CR2_TDSWU |\
AnnaBridge 163:e59c8e839560 250 HRTIM_CR2_TESWU))
AnnaBridge 163:e59c8e839560 251
AnnaBridge 163:e59c8e839560 252 #define HRTIM_CR2_SWRST_MASK ((uint32_t)(HRTIM_CR2_MRST |\
AnnaBridge 163:e59c8e839560 253 HRTIM_CR2_TARST |\
AnnaBridge 163:e59c8e839560 254 HRTIM_CR2_TBRST |\
AnnaBridge 163:e59c8e839560 255 HRTIM_CR2_TCRST |\
AnnaBridge 163:e59c8e839560 256 HRTIM_CR2_TDRST |\
AnnaBridge 163:e59c8e839560 257 HRTIM_CR2_TERST))
AnnaBridge 163:e59c8e839560 258
AnnaBridge 163:e59c8e839560 259 #define HRTIM_OENR_OEN_MASK ((uint32_t)(HRTIM_OENR_TA1OEN |\
AnnaBridge 163:e59c8e839560 260 HRTIM_OENR_TA2OEN |\
AnnaBridge 163:e59c8e839560 261 HRTIM_OENR_TB1OEN |\
AnnaBridge 163:e59c8e839560 262 HRTIM_OENR_TB2OEN |\
AnnaBridge 163:e59c8e839560 263 HRTIM_OENR_TC1OEN |\
AnnaBridge 163:e59c8e839560 264 HRTIM_OENR_TC2OEN |\
AnnaBridge 163:e59c8e839560 265 HRTIM_OENR_TD1OEN |\
AnnaBridge 163:e59c8e839560 266 HRTIM_OENR_TD2OEN |\
AnnaBridge 163:e59c8e839560 267 HRTIM_OENR_TE1OEN |\
AnnaBridge 163:e59c8e839560 268 HRTIM_OENR_TE2OEN))
AnnaBridge 163:e59c8e839560 269
AnnaBridge 163:e59c8e839560 270 #define HRTIM_OENR_ODIS_MASK ((uint32_t)(HRTIM_ODISR_TA1ODIS |\
AnnaBridge 163:e59c8e839560 271 HRTIM_ODISR_TA2ODIS |\
AnnaBridge 163:e59c8e839560 272 HRTIM_ODISR_TB1ODIS |\
AnnaBridge 163:e59c8e839560 273 HRTIM_ODISR_TB2ODIS |\
AnnaBridge 163:e59c8e839560 274 HRTIM_ODISR_TC1ODIS |\
AnnaBridge 163:e59c8e839560 275 HRTIM_ODISR_TC2ODIS |\
AnnaBridge 163:e59c8e839560 276 HRTIM_ODISR_TD1ODIS |\
AnnaBridge 163:e59c8e839560 277 HRTIM_ODISR_TD2ODIS |\
AnnaBridge 163:e59c8e839560 278 HRTIM_ODISR_TE1ODIS |\
AnnaBridge 163:e59c8e839560 279 HRTIM_ODISR_TE2ODIS))
AnnaBridge 163:e59c8e839560 280
AnnaBridge 163:e59c8e839560 281 #define HRTIM_OUT_CONFIG_MASK ((uint32_t)(HRTIM_OUTR_POL1 |\
AnnaBridge 163:e59c8e839560 282 HRTIM_OUTR_IDLM1 |\
AnnaBridge 163:e59c8e839560 283 HRTIM_OUTR_IDLES1 |\
AnnaBridge 163:e59c8e839560 284 HRTIM_OUTR_FAULT1 |\
AnnaBridge 163:e59c8e839560 285 HRTIM_OUTR_CHP1 |\
AnnaBridge 163:e59c8e839560 286 HRTIM_OUTR_DIDL1))
AnnaBridge 163:e59c8e839560 287
AnnaBridge 163:e59c8e839560 288 #define HRTIM_EE_CONFIG_MASK ((uint32_t)(HRTIM_EECR1_EE1SRC |\
AnnaBridge 163:e59c8e839560 289 HRTIM_EECR1_EE1POL |\
AnnaBridge 163:e59c8e839560 290 HRTIM_EECR1_EE1SNS |\
AnnaBridge 163:e59c8e839560 291 HRTIM_EECR1_EE1FAST))
AnnaBridge 163:e59c8e839560 292
AnnaBridge 163:e59c8e839560 293 #define HRTIM_FLT_CONFIG_MASK ((uint32_t)(HRTIM_FLTINR1_FLT1P |\
AnnaBridge 163:e59c8e839560 294 HRTIM_FLTINR1_FLT1SRC))
AnnaBridge 163:e59c8e839560 295
AnnaBridge 163:e59c8e839560 296 #define HRTIM_BM_CONFIG_MASK ((uint32_t)( HRTIM_BMCR_BMPRSC |\
AnnaBridge 163:e59c8e839560 297 HRTIM_BMCR_BMCLK |\
AnnaBridge 163:e59c8e839560 298 HRTIM_BMCR_BMOM))
AnnaBridge 163:e59c8e839560 299
AnnaBridge 163:e59c8e839560 300 /**
AnnaBridge 163:e59c8e839560 301 * @}
AnnaBridge 163:e59c8e839560 302 */
AnnaBridge 163:e59c8e839560 303
AnnaBridge 163:e59c8e839560 304
AnnaBridge 163:e59c8e839560 305 /* Private macros ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 306 /* Exported types ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 307 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 308 /** @defgroup HRTIM_LL_ES_INIT HRTIM Exported Init structure
AnnaBridge 163:e59c8e839560 309 * @{
AnnaBridge 163:e59c8e839560 310 */
AnnaBridge 163:e59c8e839560 311 /* TO BE COMPLETED */
AnnaBridge 163:e59c8e839560 312 /**
AnnaBridge 163:e59c8e839560 313 * @}
AnnaBridge 163:e59c8e839560 314 */
AnnaBridge 163:e59c8e839560 315 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 316
AnnaBridge 163:e59c8e839560 317 /* Exported constants --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 318 /** @defgroup HRTIM_LL_Exported_Constants HRTIM Exported Constants
AnnaBridge 163:e59c8e839560 319 * @{
AnnaBridge 163:e59c8e839560 320 */
AnnaBridge 163:e59c8e839560 321
AnnaBridge 163:e59c8e839560 322 /** @defgroup HRTIM_EC_GET_FLAG Get Flags Defines
AnnaBridge 163:e59c8e839560 323 * @brief Flags defines which can be used with LL_HRTIM_ReadReg function
AnnaBridge 163:e59c8e839560 324 * @{
AnnaBridge 163:e59c8e839560 325 */
AnnaBridge 163:e59c8e839560 326 #define LL_HRTIM_ISR_FLT1 HRTIM_ISR_FLT1
AnnaBridge 163:e59c8e839560 327 #define LL_HRTIM_ISR_FLT2 HRTIM_ISR_FLT2
AnnaBridge 163:e59c8e839560 328 #define LL_HRTIM_ISR_FLT3 HRTIM_ISR_FLT3
AnnaBridge 163:e59c8e839560 329 #define LL_HRTIM_ISR_FLT4 HRTIM_ISR_FLT4
AnnaBridge 163:e59c8e839560 330 #define LL_HRTIM_ISR_FLT5 HRTIM_ISR_FLT5
AnnaBridge 163:e59c8e839560 331 #define LL_HRTIM_ISR_SYSFLT HRTIM_ISR_SYSFLT
AnnaBridge 163:e59c8e839560 332 #define LL_HRTIM_ISR_DLLRDY HRTIM_ISR_DLLRDY
AnnaBridge 163:e59c8e839560 333 #define LL_HRTIM_ISR_BMPER HRTIM_ISR_BMPER
AnnaBridge 163:e59c8e839560 334
AnnaBridge 163:e59c8e839560 335 #define LL_HRTIM_MISR_MCMP1 HRTIM_MISR_MCMP1
AnnaBridge 163:e59c8e839560 336 #define LL_HRTIM_MISR_MCMP2 HRTIM_MISR_MCMP2
AnnaBridge 163:e59c8e839560 337 #define LL_HRTIM_MISR_MCMP3 HRTIM_MISR_MCMP3
AnnaBridge 163:e59c8e839560 338 #define LL_HRTIM_MISR_MCMP4 HRTIM_MISR_MCMP4
AnnaBridge 163:e59c8e839560 339 #define LL_HRTIM_MISR_MREP HRTIM_MISR_MREP
AnnaBridge 163:e59c8e839560 340 #define LL_HRTIM_MISR_SYNC HRTIM_MISR_SYNC
AnnaBridge 163:e59c8e839560 341 #define LL_HRTIM_MISR_MUPD HRTIM_MISR_MUPD
AnnaBridge 163:e59c8e839560 342
AnnaBridge 163:e59c8e839560 343 #define LL_HRTIM_TIMISR_CMP1 HRTIM_TIMISR_CMP1
AnnaBridge 163:e59c8e839560 344 #define LL_HRTIM_TIMISR_CMP2 HRTIM_TIMISR_CMP2
AnnaBridge 163:e59c8e839560 345 #define LL_HRTIM_TIMISR_CMP3 HRTIM_TIMISR_CMP3
AnnaBridge 163:e59c8e839560 346 #define LL_HRTIM_TIMISR_CMP4 HRTIM_TIMISR_CMP4
AnnaBridge 163:e59c8e839560 347 #define LL_HRTIM_TIMISR_REP HRTIM_TIMISR_REP
AnnaBridge 163:e59c8e839560 348 #define LL_HRTIM_TIMISR_UPD HRTIM_TIMISR_UPD
AnnaBridge 163:e59c8e839560 349 #define LL_HRTIM_TIMISR_CPT1 HRTIM_TIMISR_CPT1
AnnaBridge 163:e59c8e839560 350 #define LL_HRTIM_TIMISR_CPT2 HRTIM_TIMISR_CPT2
AnnaBridge 163:e59c8e839560 351 #define LL_HRTIM_TIMISR_SET1 HRTIM_TIMISR_SET1
AnnaBridge 163:e59c8e839560 352 #define LL_HRTIM_TIMISR_RST1 HRTIM_TIMISR_RST1
AnnaBridge 163:e59c8e839560 353 #define LL_HRTIM_TIMISR_SET2 HRTIM_TIMISR_SET2
AnnaBridge 163:e59c8e839560 354 #define LL_HRTIM_TIMISR_RST2 HRTIM_TIMISR_RST2
AnnaBridge 163:e59c8e839560 355 #define LL_HRTIM_TIMISR_RST HRTIM_TIMISR_RST
AnnaBridge 163:e59c8e839560 356 #define LL_HRTIM_TIMISR_DLYPRT HRTIM_TIMISR_DLYPRT
AnnaBridge 163:e59c8e839560 357 /**
AnnaBridge 163:e59c8e839560 358 * @}
AnnaBridge 163:e59c8e839560 359 */
AnnaBridge 163:e59c8e839560 360
AnnaBridge 163:e59c8e839560 361 /** @defgroup HRTIM_EC_IT IT Defines
AnnaBridge 163:e59c8e839560 362 * @brief IT defines which can be used with LL_HRTIM_ReadReg and LL_HRTIM_WriteReg functions
AnnaBridge 163:e59c8e839560 363 * @{
AnnaBridge 163:e59c8e839560 364 */
AnnaBridge 163:e59c8e839560 365 #define LL_HRTIM_IER_FLT1IE HRTIM_IER_FLT1IE
AnnaBridge 163:e59c8e839560 366 #define LL_HRTIM_IER_FLT2IE HRTIM_IER_FLT2IE
AnnaBridge 163:e59c8e839560 367 #define LL_HRTIM_IER_FLT3IE HRTIM_IER_FLT3IE
AnnaBridge 163:e59c8e839560 368 #define LL_HRTIM_IER_FLT4IE HRTIM_IER_FLT4IE
AnnaBridge 163:e59c8e839560 369 #define LL_HRTIM_IER_FLT5IE HRTIM_IER_FLT5IE
AnnaBridge 163:e59c8e839560 370 #define LL_HRTIM_IER_SYSFLTIE HRTIM_IER_SYSFLTIE
AnnaBridge 163:e59c8e839560 371 #define LL_HRTIM_IER_DLLRDYIE HRTIM_IER_DLLRDYIE
AnnaBridge 163:e59c8e839560 372 #define LL_HRTIM_IER_BMPERIE HRTIM_IER_BMPERIE
AnnaBridge 163:e59c8e839560 373
AnnaBridge 163:e59c8e839560 374 #define LL_HRTIM_MDIER_MCMP1IE HRTIM_MDIER_MCMP1IE
AnnaBridge 163:e59c8e839560 375 #define LL_HRTIM_MDIER_MCMP2IE HRTIM_MDIER_MCMP2IE
AnnaBridge 163:e59c8e839560 376 #define LL_HRTIM_MDIER_MCMP3IE HRTIM_MDIER_MCMP3IE
AnnaBridge 163:e59c8e839560 377 #define LL_HRTIM_MDIER_MCMP4IE HRTIM_MDIER_MCMP4IE
AnnaBridge 163:e59c8e839560 378 #define LL_HRTIM_MDIER_MREPIE HRTIM_MDIER_MREPIE
AnnaBridge 163:e59c8e839560 379 #define LL_HRTIM_MDIER_SYNCIE HRTIM_MDIER_SYNCIE
AnnaBridge 163:e59c8e839560 380 #define LL_HRTIM_MDIER_MUPDIE HRTIM_MDIER_MUPDIE
AnnaBridge 163:e59c8e839560 381
AnnaBridge 163:e59c8e839560 382
AnnaBridge 163:e59c8e839560 383 #define LL_HRTIM_TIMDIER_CMP1IE HRTIM_TIMDIER_CMP1IE
AnnaBridge 163:e59c8e839560 384 #define LL_HRTIM_TIMDIER_CMP2IE HRTIM_TIMDIER_CMP2IE
AnnaBridge 163:e59c8e839560 385 #define LL_HRTIM_TIMDIER_CMP3IE HRTIM_TIMDIER_CMP3IE
AnnaBridge 163:e59c8e839560 386 #define LL_HRTIM_TIMDIER_CMP4IE HRTIM_TIMDIER_CMP4IE
AnnaBridge 163:e59c8e839560 387 #define LL_HRTIM_TIMDIER_REPIE HRTIM_TIMDIER_REPIE
AnnaBridge 163:e59c8e839560 388 #define LL_HRTIM_TIMDIER_UPDIE HRTIM_TIMDIER_UPDIE
AnnaBridge 163:e59c8e839560 389 #define LL_HRTIM_TIMDIER_CPT1IE HRTIM_TIMDIER_CPT1IE
AnnaBridge 163:e59c8e839560 390 #define LL_HRTIM_TIMDIER_CPT2IE HRTIM_TIMDIER_CPT2IE
AnnaBridge 163:e59c8e839560 391 #define LL_HRTIM_TIMDIER_SET1IE HRTIM_TIMDIER_SET1IE
AnnaBridge 163:e59c8e839560 392 #define LL_HRTIM_TIMDIER_RST1IE HRTIM_TIMDIER_RST1IE
AnnaBridge 163:e59c8e839560 393 #define LL_HRTIM_TIMDIER_SET2IE HRTIM_TIMDIER_SET2IE
AnnaBridge 163:e59c8e839560 394 #define LL_HRTIM_TIMDIER_RST2IE HRTIM_TIMDIER_RST2IE
AnnaBridge 163:e59c8e839560 395 #define LL_HRTIM_TIMDIER_RSTIE HRTIM_TIMDIER_RSTIE
AnnaBridge 163:e59c8e839560 396 #define LL_HRTIM_TIMDIER_DLYPRTIE HRTIM_TIMDIER_DLYPRTIE
AnnaBridge 163:e59c8e839560 397 /**
AnnaBridge 163:e59c8e839560 398 * @}
AnnaBridge 163:e59c8e839560 399 */
AnnaBridge 163:e59c8e839560 400
AnnaBridge 163:e59c8e839560 401 /** @defgroup HRTIM_EC_SYNCIN_SRC SYNCHRONIZATION INPUT SOURCE
AnnaBridge 163:e59c8e839560 402 * @{
AnnaBridge 163:e59c8e839560 403 * @brief Constants defining defining the synchronization input source.
AnnaBridge 163:e59c8e839560 404 */
AnnaBridge 163:e59c8e839560 405 #define LL_HRTIM_SYNCIN_SRC_NONE ((uint32_t)0x00000000U) /*!< HRTIM is not synchronized and runs in standalone mode */
AnnaBridge 163:e59c8e839560 406 #define LL_HRTIM_SYNCIN_SRC_TIM_EVENT (HRTIM_MCR_SYNC_IN_1) /*!< The HRTIM is synchronized with the on-chip timer */
AnnaBridge 163:e59c8e839560 407 #define LL_HRTIM_SYNCIN_SRC_EXTERNAL_EVENT (HRTIM_MCR_SYNC_IN_1 | HRTIM_MCR_SYNC_IN_0) /*!< A positive pulse on SYNCIN input triggers the HRTIM */
AnnaBridge 163:e59c8e839560 408 /**
AnnaBridge 163:e59c8e839560 409 * @}
AnnaBridge 163:e59c8e839560 410 */
AnnaBridge 163:e59c8e839560 411
AnnaBridge 163:e59c8e839560 412 /** @defgroup HRTIM_EC_SYNCOUT_SRC SYNCHRONIZATION OUTPUT SOURCE
AnnaBridge 163:e59c8e839560 413 * @{
AnnaBridge 163:e59c8e839560 414 * @brief Constants defining the source and event to be sent on the synchronization output.
AnnaBridge 163:e59c8e839560 415 */
AnnaBridge 163:e59c8e839560 416 #define LL_HRTIM_SYNCOUT_SRC_MASTER_START ((uint32_t)0x00000000U) /*!< A pulse is sent on the SYNCOUT output upon master timer start event */
AnnaBridge 163:e59c8e839560 417 #define LL_HRTIM_SYNCOUT_SRC_MASTER_CMP1 (HRTIM_MCR_SYNC_SRC_0) /*!< A pulse is sent on the SYNCOUT output upon master timer compare 1 event*/
AnnaBridge 163:e59c8e839560 418 #define LL_HRTIM_SYNCOUT_SRC_TIMA_START (HRTIM_MCR_SYNC_SRC_1) /*!< A pulse is sent on the SYNCOUT output upon timer A start or reset events */
AnnaBridge 163:e59c8e839560 419 #define LL_HRTIM_SYNCOUT_SRC_TIMA_CMP1 (HRTIM_MCR_SYNC_SRC_1 | HRTIM_MCR_SYNC_SRC_0) /*!< A pulse is sent on the SYNCOUT output upon timer A compare 1 event */
AnnaBridge 163:e59c8e839560 420 /**
AnnaBridge 163:e59c8e839560 421 * @}
AnnaBridge 163:e59c8e839560 422 */
AnnaBridge 163:e59c8e839560 423
AnnaBridge 163:e59c8e839560 424 /** @defgroup HRTIM_EC_SYNCOUT_POLARITY SYNCHRONIZATION OUTPUT POLARITY
AnnaBridge 163:e59c8e839560 425 * @{
AnnaBridge 163:e59c8e839560 426 * @brief Constants defining the routing and conditioning of the synchronization output event.
AnnaBridge 163:e59c8e839560 427 */
AnnaBridge 163:e59c8e839560 428 #define LL_HRTIM_SYNCOUT_DISABLED ((uint32_t)0x00000000U) /*!< Synchronization output event is disabled */
AnnaBridge 163:e59c8e839560 429 #define LL_HRTIM_SYNCOUT_POSITIVE_PULSE (HRTIM_MCR_SYNC_OUT_1) /*!< SCOUT pin has a low idle level and issues a positive pulse of 16 fHRTIM clock cycles length for the synchronization */
AnnaBridge 163:e59c8e839560 430 #define LL_HRTIM_SYNCOUT_NEGATIVE_PULSE (HRTIM_MCR_SYNC_OUT_1 | HRTIM_MCR_SYNC_OUT_0) /*!< SCOUT pin has a high idle level and issues a negative pulse of 16 fHRTIM clock cycles length for the synchronization */
AnnaBridge 163:e59c8e839560 431 /**
AnnaBridge 163:e59c8e839560 432 * @}
AnnaBridge 163:e59c8e839560 433 */
AnnaBridge 163:e59c8e839560 434
AnnaBridge 163:e59c8e839560 435 /** @defgroup HRTIM_EC_TIMER TIMER ID
AnnaBridge 163:e59c8e839560 436 * @{
AnnaBridge 163:e59c8e839560 437 * @brief Constants identifying a timing unit.
AnnaBridge 163:e59c8e839560 438 */
AnnaBridge 163:e59c8e839560 439 #define LL_HRTIM_TIMER_MASTER HRTIM_MCR_MCEN /*!< Master timer identifier */
AnnaBridge 163:e59c8e839560 440 #define LL_HRTIM_TIMER_A HRTIM_MCR_TACEN /*!< Timer A identifier */
AnnaBridge 163:e59c8e839560 441 #define LL_HRTIM_TIMER_B HRTIM_MCR_TBCEN /*!< Timer B identifier */
AnnaBridge 163:e59c8e839560 442 #define LL_HRTIM_TIMER_C HRTIM_MCR_TCCEN /*!< Timer C identifier */
AnnaBridge 163:e59c8e839560 443 #define LL_HRTIM_TIMER_D HRTIM_MCR_TDCEN /*!< Timer D identifier */
AnnaBridge 163:e59c8e839560 444 #define LL_HRTIM_TIMER_E HRTIM_MCR_TECEN /*!< Timer E identifier */
AnnaBridge 163:e59c8e839560 445 /**
AnnaBridge 163:e59c8e839560 446 * @}
AnnaBridge 163:e59c8e839560 447 */
AnnaBridge 163:e59c8e839560 448
AnnaBridge 163:e59c8e839560 449 /** @defgroup HRTIM_EC_OUTPUT OUTPUT ID
AnnaBridge 163:e59c8e839560 450 * @{
AnnaBridge 163:e59c8e839560 451 * @brief Constants identifying an HRTIM output.
AnnaBridge 163:e59c8e839560 452 */
AnnaBridge 163:e59c8e839560 453 #define LL_HRTIM_OUTPUT_TA1 HRTIM_OENR_TA1OEN /*!< Timer A - Output 1 identifier */
AnnaBridge 163:e59c8e839560 454 #define LL_HRTIM_OUTPUT_TA2 HRTIM_OENR_TA2OEN /*!< Timer A - Output 2 identifier */
AnnaBridge 163:e59c8e839560 455 #define LL_HRTIM_OUTPUT_TB1 HRTIM_OENR_TB1OEN /*!< Timer B - Output 1 identifier */
AnnaBridge 163:e59c8e839560 456 #define LL_HRTIM_OUTPUT_TB2 HRTIM_OENR_TB2OEN /*!< Timer B - Output 2 identifier */
AnnaBridge 163:e59c8e839560 457 #define LL_HRTIM_OUTPUT_TC1 HRTIM_OENR_TC1OEN /*!< Timer C - Output 1 identifier */
AnnaBridge 163:e59c8e839560 458 #define LL_HRTIM_OUTPUT_TC2 HRTIM_OENR_TC2OEN /*!< Timer C - Output 2 identifier */
AnnaBridge 163:e59c8e839560 459 #define LL_HRTIM_OUTPUT_TD1 HRTIM_OENR_TD1OEN /*!< Timer D - Output 1 identifier */
AnnaBridge 163:e59c8e839560 460 #define LL_HRTIM_OUTPUT_TD2 HRTIM_OENR_TD2OEN /*!< Timer D - Output 2 identifier */
AnnaBridge 163:e59c8e839560 461 #define LL_HRTIM_OUTPUT_TE1 HRTIM_OENR_TE1OEN /*!< Timer E - Output 1 identifier */
AnnaBridge 163:e59c8e839560 462 #define LL_HRTIM_OUTPUT_TE2 HRTIM_OENR_TE2OEN /*!< Timer E - Output 2 identifier */
AnnaBridge 163:e59c8e839560 463 /**
AnnaBridge 163:e59c8e839560 464 * @}
AnnaBridge 163:e59c8e839560 465 */
AnnaBridge 163:e59c8e839560 466
AnnaBridge 163:e59c8e839560 467 /** @defgroup HRTIM_EC_COMPAREUNIT COMPARE UNIT ID
AnnaBridge 163:e59c8e839560 468 * @{
AnnaBridge 163:e59c8e839560 469 * @brief Constants identifying a compare unit.
AnnaBridge 163:e59c8e839560 470 */
AnnaBridge 163:e59c8e839560 471 #define LL_HRTIM_COMPAREUNIT_2 HRTIM_TIMCR_DELCMP2 /*!< Compare unit 2 identifier */
AnnaBridge 163:e59c8e839560 472 #define LL_HRTIM_COMPAREUNIT_4 HRTIM_TIMCR_DELCMP4 /*!< Compare unit 4 identifier */
AnnaBridge 163:e59c8e839560 473 /**
AnnaBridge 163:e59c8e839560 474 * @}
AnnaBridge 163:e59c8e839560 475 */
AnnaBridge 163:e59c8e839560 476
AnnaBridge 163:e59c8e839560 477 /** @defgroup HRTIM_EC_CAPTUREUNIT CAPTURE UNIT ID
AnnaBridge 163:e59c8e839560 478 * @{
AnnaBridge 163:e59c8e839560 479 * @brief Constants identifying a capture unit.
AnnaBridge 163:e59c8e839560 480 */
AnnaBridge 163:e59c8e839560 481 #define LL_HRTIM_CAPTUREUNIT_1 0 /*!< Capture unit 1 identifier */
AnnaBridge 163:e59c8e839560 482 #define LL_HRTIM_CAPTUREUNIT_2 1 /*!< Capture unit 2 identifier */
AnnaBridge 163:e59c8e839560 483 /**
AnnaBridge 163:e59c8e839560 484 * @}
AnnaBridge 163:e59c8e839560 485 */
AnnaBridge 163:e59c8e839560 486
AnnaBridge 163:e59c8e839560 487 /** @defgroup HRTIM_EC_FAULT FAULT ID
AnnaBridge 163:e59c8e839560 488 * @{
AnnaBridge 163:e59c8e839560 489 * @brief Constants identifying a fault channel.
AnnaBridge 163:e59c8e839560 490 */
AnnaBridge 163:e59c8e839560 491 #define LL_HRTIM_FAULT_1 HRTIM_FLTR_FLT1EN /*!< Fault channel 1 identifier */
AnnaBridge 163:e59c8e839560 492 #define LL_HRTIM_FAULT_2 HRTIM_FLTR_FLT2EN /*!< Fault channel 2 identifier */
AnnaBridge 163:e59c8e839560 493 #define LL_HRTIM_FAULT_3 HRTIM_FLTR_FLT3EN /*!< Fault channel 3 identifier */
AnnaBridge 163:e59c8e839560 494 #define LL_HRTIM_FAULT_4 HRTIM_FLTR_FLT4EN /*!< Fault channel 4 identifier */
AnnaBridge 163:e59c8e839560 495 #define LL_HRTIM_FAULT_5 HRTIM_FLTR_FLT5EN /*!< Fault channel 5 identifier */
AnnaBridge 163:e59c8e839560 496 /**
AnnaBridge 163:e59c8e839560 497 * @}
AnnaBridge 163:e59c8e839560 498 */
AnnaBridge 163:e59c8e839560 499
AnnaBridge 163:e59c8e839560 500 /** @defgroup HRTIM_EC_EVENT EXTERNAL EVENT ID
AnnaBridge 163:e59c8e839560 501 * @{
AnnaBridge 163:e59c8e839560 502 * @brief Constants identifying an external event channel.
AnnaBridge 163:e59c8e839560 503 */
AnnaBridge 163:e59c8e839560 504 #define LL_HRTIM_EVENT_1 ((uint32_t)0x00000001U) /*!< External event channel 1 identifier */
AnnaBridge 163:e59c8e839560 505 #define LL_HRTIM_EVENT_2 ((uint32_t)0x00000002U) /*!< External event channel 2 identifier */
AnnaBridge 163:e59c8e839560 506 #define LL_HRTIM_EVENT_3 ((uint32_t)0x00000004U) /*!< External event channel 3 identifier */
AnnaBridge 163:e59c8e839560 507 #define LL_HRTIM_EVENT_4 ((uint32_t)0x00000008U) /*!< External event channel 4 identifier */
AnnaBridge 163:e59c8e839560 508 #define LL_HRTIM_EVENT_5 ((uint32_t)0x00000010U) /*!< External event channel 5 identifier */
AnnaBridge 163:e59c8e839560 509 #define LL_HRTIM_EVENT_6 ((uint32_t)0x00000020U) /*!< External event channel 6 identifier */
AnnaBridge 163:e59c8e839560 510 #define LL_HRTIM_EVENT_7 ((uint32_t)0x00000040U) /*!< External event channel 7 identifier */
AnnaBridge 163:e59c8e839560 511 #define LL_HRTIM_EVENT_8 ((uint32_t)0x00000080U) /*!< External event channel 8 identifier */
AnnaBridge 163:e59c8e839560 512 #define LL_HRTIM_EVENT_9 ((uint32_t)0x00000100U) /*!< External event channel 9 identifier */
AnnaBridge 163:e59c8e839560 513 #define LL_HRTIM_EVENT_10 ((uint32_t)0x00000200U) /*!< External event channel 10 identifier */
AnnaBridge 163:e59c8e839560 514 /**
AnnaBridge 163:e59c8e839560 515 * @}
AnnaBridge 163:e59c8e839560 516 */
AnnaBridge 163:e59c8e839560 517
AnnaBridge 163:e59c8e839560 518 /** @defgroup HRTIM_EC_OUTPUTSTATE OUTPUT STATE
AnnaBridge 163:e59c8e839560 519 * @{
AnnaBridge 163:e59c8e839560 520 * @brief Constants defining the state of an HRTIM output.
AnnaBridge 163:e59c8e839560 521 */
AnnaBridge 163:e59c8e839560 522 #define LL_HRTIM_OUTPUTSTATE_IDLE ((uint32_t)0x00000001U) /*!< Main operating mode, where the output can take the active or inactive level as programmed in the crossbar unit */
AnnaBridge 163:e59c8e839560 523 #define LL_HRTIM_OUTPUTSTATE_RUN ((uint32_t)0x00000002U) /*!< Default operating state (e.g. after an HRTIM reset, when the outputs are disabled by software or during a burst mode operation) */
AnnaBridge 163:e59c8e839560 524 #define LL_HRTIM_OUTPUTSTATE_FAULT ((uint32_t)0x00000003U) /*!< Safety state, entered in case of a shut-down request on FAULTx inputs */
AnnaBridge 163:e59c8e839560 525 /**
AnnaBridge 163:e59c8e839560 526 * @}
AnnaBridge 163:e59c8e839560 527 */
AnnaBridge 163:e59c8e839560 528
AnnaBridge 163:e59c8e839560 529 /** @defgroup HRTIM_EC_ADCTRIG ADC TRIGGER
AnnaBridge 163:e59c8e839560 530 * @{
AnnaBridge 163:e59c8e839560 531 * @brief Constants identifying an ADC trigger.
AnnaBridge 163:e59c8e839560 532 */
AnnaBridge 163:e59c8e839560 533 #define LL_HRTIM_ADCTRIG_1 ((uint32_t)0x00000000U) /*!< ADC trigger 1 identifier */
AnnaBridge 163:e59c8e839560 534 #define LL_HRTIM_ADCTRIG_2 ((uint32_t)0x00000001U) /*!< ADC trigger 2 identifier */
AnnaBridge 163:e59c8e839560 535 #define LL_HRTIM_ADCTRIG_3 ((uint32_t)0x00000002U) /*!< ADC trigger 3 identifier */
AnnaBridge 163:e59c8e839560 536 #define LL_HRTIM_ADCTRIG_4 ((uint32_t)0x00000003U) /*!< ADC trigger 4 identifier */
AnnaBridge 163:e59c8e839560 537 /**
AnnaBridge 163:e59c8e839560 538 * @}
AnnaBridge 163:e59c8e839560 539 */
AnnaBridge 163:e59c8e839560 540
AnnaBridge 163:e59c8e839560 541 /** @defgroup HRTIM_EC_ADCTRIG_UPDATE ADC TRIGGER UPDATE
AnnaBridge 163:e59c8e839560 542 * @{
AnnaBridge 163:e59c8e839560 543 * @brief constants defining the source triggering the update of the HRTIM_ADCxR register (transfer from preload to active register).
AnnaBridge 163:e59c8e839560 544 */
AnnaBridge 163:e59c8e839560 545 #define LL_HRTIM_ADCTRIG_UPDATE_MASTER ((uint32_t)0x00000000U) /*!< HRTIM_ADCxR register update is triggered by the Master timer */
AnnaBridge 163:e59c8e839560 546 #define LL_HRTIM_ADCTRIG_UPDATE_TIMER_A (HRTIM_CR1_ADC1USRC_0) /*!< HRTIM_ADCxR register update is triggered by the Timer A */
AnnaBridge 163:e59c8e839560 547 #define LL_HRTIM_ADCTRIG_UPDATE_TIMER_B (HRTIM_CR1_ADC1USRC_1) /*!< HRTIM_ADCxR register update is triggered by the Timer B */
AnnaBridge 163:e59c8e839560 548 #define LL_HRTIM_ADCTRIG_UPDATE_TIMER_C (HRTIM_CR1_ADC1USRC_1 | HRTIM_CR1_ADC1USRC_0) /*!< HRTIM_ADCxR register update is triggered by the Timer C */
AnnaBridge 163:e59c8e839560 549 #define LL_HRTIM_ADCTRIG_UPDATE_TIMER_D (HRTIM_CR1_ADC1USRC_2) /*!< HRTIM_ADCxR register update is triggered by the Timer D */
AnnaBridge 163:e59c8e839560 550 #define LL_HRTIM_ADCTRIG_UPDATE_TIMER_E (HRTIM_CR1_ADC1USRC_2 | HRTIM_CR1_ADC1USRC_0) /*!< HRTIM_ADCxR register update is triggered by the Timer E */
AnnaBridge 163:e59c8e839560 551 /**
AnnaBridge 163:e59c8e839560 552 * @}
AnnaBridge 163:e59c8e839560 553 */
AnnaBridge 163:e59c8e839560 554
AnnaBridge 163:e59c8e839560 555 /** @defgroup HRTIM_EC_ADCTRIG_SRC13 ADC TRIGGER 1/3 SOURCE
AnnaBridge 163:e59c8e839560 556 * @{
AnnaBridge 163:e59c8e839560 557 * @brief constants defining the events triggering ADC conversion for ADC Triggers 1 and 3.
AnnaBridge 163:e59c8e839560 558 */
AnnaBridge 163:e59c8e839560 559 #define LL_HRTIM_ADCTRIG_SRC13_NONE ((uint32_t)0x00000000U) /*!< No ADC trigger event */
AnnaBridge 163:e59c8e839560 560 #define LL_HRTIM_ADCTRIG_SRC13_MCMP1 HRTIM_ADC1R_AD1MC1 /*!< ADC Trigger on master compare 1 */
AnnaBridge 163:e59c8e839560 561 #define LL_HRTIM_ADCTRIG_SRC13_MCMP2 HRTIM_ADC1R_AD1MC2 /*!< ADC Trigger on master compare 2 */
AnnaBridge 163:e59c8e839560 562 #define LL_HRTIM_ADCTRIG_SRC13_MCMP3 HRTIM_ADC1R_AD1MC3 /*!< ADC Trigger on master compare 3 */
AnnaBridge 163:e59c8e839560 563 #define LL_HRTIM_ADCTRIG_SRC13_MCMP4 HRTIM_ADC1R_AD1MC4 /*!< ADC Trigger on master compare 4 */
AnnaBridge 163:e59c8e839560 564 #define LL_HRTIM_ADCTRIG_SRC13_MPER HRTIM_ADC1R_AD1MPER /*!< ADC Trigger on master period */
AnnaBridge 163:e59c8e839560 565 #define LL_HRTIM_ADCTRIG_SRC13_EEV1 HRTIM_ADC1R_AD1EEV1 /*!< ADC Trigger on external event 1 */
AnnaBridge 163:e59c8e839560 566 #define LL_HRTIM_ADCTRIG_SRC13_EEV2 HRTIM_ADC1R_AD1EEV2 /*!< ADC Trigger on external event 2 */
AnnaBridge 163:e59c8e839560 567 #define LL_HRTIM_ADCTRIG_SRC13_EEV3 HRTIM_ADC1R_AD1EEV3 /*!< ADC Trigger on external event 3 */
AnnaBridge 163:e59c8e839560 568 #define LL_HRTIM_ADCTRIG_SRC13_EEV4 HRTIM_ADC1R_AD1EEV4 /*!< ADC Trigger on external event 4 */
AnnaBridge 163:e59c8e839560 569 #define LL_HRTIM_ADCTRIG_SRC13_EEV5 HRTIM_ADC1R_AD1EEV5 /*!< ADC Trigger on external event 5 */
AnnaBridge 163:e59c8e839560 570 #define LL_HRTIM_ADCTRIG_SRC13_TIMACMP2 HRTIM_ADC1R_AD1TAC2 /*!< ADC Trigger on Timer A compare 2 */
AnnaBridge 163:e59c8e839560 571 #define LL_HRTIM_ADCTRIG_SRC13_TIMACMP3 HRTIM_ADC1R_AD1TAC3 /*!< ADC Trigger on Timer A compare 3 */
AnnaBridge 163:e59c8e839560 572 #define LL_HRTIM_ADCTRIG_SRC13_TIMACMP4 HRTIM_ADC1R_AD1TAC4 /*!< ADC Trigger on Timer A compare 4 */
AnnaBridge 163:e59c8e839560 573 #define LL_HRTIM_ADCTRIG_SRC13_TIMAPER HRTIM_ADC1R_AD1TAPER /*!< ADC Trigger on Timer A period */
AnnaBridge 163:e59c8e839560 574 #define LL_HRTIM_ADCTRIG_SRC13_TIMARST HRTIM_ADC1R_AD1TARST /*!< ADC Trigger on Timer A reset */
AnnaBridge 163:e59c8e839560 575 #define LL_HRTIM_ADCTRIG_SRC13_TIMBCMP2 HRTIM_ADC1R_AD1TBC2 /*!< ADC Trigger on Timer B compare 2 */
AnnaBridge 163:e59c8e839560 576 #define LL_HRTIM_ADCTRIG_SRC13_TIMBCMP3 HRTIM_ADC1R_AD1TBC3 /*!< ADC Trigger on Timer B compare 3 */
AnnaBridge 163:e59c8e839560 577 #define LL_HRTIM_ADCTRIG_SRC13_TIMBCMP4 HRTIM_ADC1R_AD1TBC4 /*!< ADC Trigger on Timer B compare 4 */
AnnaBridge 163:e59c8e839560 578 #define LL_HRTIM_ADCTRIG_SRC13_TIMBPER HRTIM_ADC1R_AD1TBPER /*!< ADC Trigger on Timer B period */
AnnaBridge 163:e59c8e839560 579 #define LL_HRTIM_ADCTRIG_SRC13_TIMBRST HRTIM_ADC1R_AD1TBRST /*!< ADC Trigger on Timer B reset */
AnnaBridge 163:e59c8e839560 580 #define LL_HRTIM_ADCTRIG_SRC13_TIMCCMP2 HRTIM_ADC1R_AD1TCC2 /*!< ADC Trigger on Timer C compare 2 */
AnnaBridge 163:e59c8e839560 581 #define LL_HRTIM_ADCTRIG_SRC13_TIMCCMP3 HRTIM_ADC1R_AD1TCC3 /*!< ADC Trigger on Timer C compare 3 */
AnnaBridge 163:e59c8e839560 582 #define LL_HRTIM_ADCTRIG_SRC13_TIMCCMP4 HRTIM_ADC1R_AD1TCC4 /*!< ADC Trigger on Timer C compare 4 */
AnnaBridge 163:e59c8e839560 583 #define LL_HRTIM_ADCTRIG_SRC13_TIMCPER HRTIM_ADC1R_AD1TCPER /*!< ADC Trigger on Timer C period */
AnnaBridge 163:e59c8e839560 584 #define LL_HRTIM_ADCTRIG_SRC13_TIMDCMP2 HRTIM_ADC1R_AD1TDC2 /*!< ADC Trigger on Timer D compare 2 */
AnnaBridge 163:e59c8e839560 585 #define LL_HRTIM_ADCTRIG_SRC13_TIMDCMP3 HRTIM_ADC1R_AD1TDC3 /*!< ADC Trigger on Timer D compare 3 */
AnnaBridge 163:e59c8e839560 586 #define LL_HRTIM_ADCTRIG_SRC13_TIMDCMP4 HRTIM_ADC1R_AD1TDC4 /*!< ADC Trigger on Timer D compare 4 */
AnnaBridge 163:e59c8e839560 587 #define LL_HRTIM_ADCTRIG_SRC13_TIMDPER HRTIM_ADC1R_AD1TDPER /*!< ADC Trigger on Timer D period */
AnnaBridge 163:e59c8e839560 588 #define LL_HRTIM_ADCTRIG_SRC13_TIMECMP2 HRTIM_ADC1R_AD1TEC2 /*!< ADC Trigger on Timer E compare 2 */
AnnaBridge 163:e59c8e839560 589 #define LL_HRTIM_ADCTRIG_SRC13_TIMECMP3 HRTIM_ADC1R_AD1TEC3 /*!< ADC Trigger on Timer E compare 3 */
AnnaBridge 163:e59c8e839560 590 #define LL_HRTIM_ADCTRIG_SRC13_TIMECMP4 HRTIM_ADC1R_AD1TEC4 /*!< ADC Trigger on Timer E compare 4 */
AnnaBridge 163:e59c8e839560 591 #define LL_HRTIM_ADCTRIG_SRC13_TIMEPER HRTIM_ADC1R_AD1TEPER /*!< ADC Trigger on Timer E period */
AnnaBridge 163:e59c8e839560 592 /**
AnnaBridge 163:e59c8e839560 593 * @}
AnnaBridge 163:e59c8e839560 594 */
AnnaBridge 163:e59c8e839560 595
AnnaBridge 163:e59c8e839560 596 /** @defgroup HRTIM_EC_ADCTRIG_SRC24 ADC TRIGGER 2/4 SOURCE
AnnaBridge 163:e59c8e839560 597 * @{
AnnaBridge 163:e59c8e839560 598 * @brief constants defining the events triggering ADC conversion for ADC Triggers 2 and 4.
AnnaBridge 163:e59c8e839560 599 */
AnnaBridge 163:e59c8e839560 600 #define LL_HRTIM_ADCTRIG_SRC24_NONE ((uint32_t)0x00000000U)/*!< No ADC trigger event */
AnnaBridge 163:e59c8e839560 601 #define LL_HRTIM_ADCTRIG_SRC24_MCMP1 HRTIM_ADC2R_AD2MC1 /*!< ADC Trigger on master compare 1 */
AnnaBridge 163:e59c8e839560 602 #define LL_HRTIM_ADCTRIG_SRC24_MCMP2 HRTIM_ADC2R_AD2MC2 /*!< ADC Trigger on master compare 2 */
AnnaBridge 163:e59c8e839560 603 #define LL_HRTIM_ADCTRIG_SRC24_MCMP3 HRTIM_ADC2R_AD2MC3 /*!< ADC Trigger on master compare 3 */
AnnaBridge 163:e59c8e839560 604 #define LL_HRTIM_ADCTRIG_SRC24_MCMP4 HRTIM_ADC2R_AD2MC4 /*!< ADC Trigger on master compare 4 */
AnnaBridge 163:e59c8e839560 605 #define LL_HRTIM_ADCTRIG_SRC24_MPER HRTIM_ADC2R_AD2MPER /*!< ADC Trigger on master period */
AnnaBridge 163:e59c8e839560 606 #define LL_HRTIM_ADCTRIG_SRC24_EEV6 HRTIM_ADC2R_AD2EEV6 /*!< ADC Trigger on external event 6 */
AnnaBridge 163:e59c8e839560 607 #define LL_HRTIM_ADCTRIG_SRC24_EEV7 HRTIM_ADC2R_AD2EEV7 /*!< ADC Trigger on external event 7 */
AnnaBridge 163:e59c8e839560 608 #define LL_HRTIM_ADCTRIG_SRC24_EEV8 HRTIM_ADC2R_AD2EEV8 /*!< ADC Trigger on external event 8 */
AnnaBridge 163:e59c8e839560 609 #define LL_HRTIM_ADCTRIG_SRC24_EEV9 HRTIM_ADC2R_AD2EEV9 /*!< ADC Trigger on external event 9 */
AnnaBridge 163:e59c8e839560 610 #define LL_HRTIM_ADCTRIG_SRC24_EEV10 HRTIM_ADC2R_AD2EEV10 /*!< ADC Trigger on external event 10 */
AnnaBridge 163:e59c8e839560 611 #define LL_HRTIM_ADCTRIG_SRC24_TIMACMP2 HRTIM_ADC2R_AD2TAC2 /*!< ADC Trigger on Timer A compare 2 */
AnnaBridge 163:e59c8e839560 612 #define LL_HRTIM_ADCTRIG_SRC24_TIMACMP3 HRTIM_ADC2R_AD2TAC3 /*!< ADC Trigger on Timer A compare 3 */
AnnaBridge 163:e59c8e839560 613 #define LL_HRTIM_ADCTRIG_SRC24_TIMACMP4 HRTIM_ADC2R_AD2TAC4 /*!< ADC Trigger on Timer A compare 4 */
AnnaBridge 163:e59c8e839560 614 #define LL_HRTIM_ADCTRIG_SRC24_TIMAPER HRTIM_ADC2R_AD2TAPER /*!< ADC Trigger on Timer A period */
AnnaBridge 163:e59c8e839560 615 #define LL_HRTIM_ADCTRIG_SRC24_TIMBCMP2 HRTIM_ADC2R_AD2TBC2 /*!< ADC Trigger on Timer B compare 2 */
AnnaBridge 163:e59c8e839560 616 #define LL_HRTIM_ADCTRIG_SRC24_TIMBCMP3 HRTIM_ADC2R_AD2TBC3 /*!< ADC Trigger on Timer B compare 3 */
AnnaBridge 163:e59c8e839560 617 #define LL_HRTIM_ADCTRIG_SRC24_TIMBCMP4 HRTIM_ADC2R_AD2TBC4 /*!< ADC Trigger on Timer B compare 4 */
AnnaBridge 163:e59c8e839560 618 #define LL_HRTIM_ADCTRIG_SRC24_TIMBPER HRTIM_ADC2R_AD2TBPER /*!< ADC Trigger on Timer B period */
AnnaBridge 163:e59c8e839560 619 #define LL_HRTIM_ADCTRIG_SRC24_TIMCCMP2 HRTIM_ADC2R_AD2TCC2 /*!< ADC Trigger on Timer C compare 2 */
AnnaBridge 163:e59c8e839560 620 #define LL_HRTIM_ADCTRIG_SRC24_TIMCCMP3 HRTIM_ADC2R_AD2TCC3 /*!< ADC Trigger on Timer C compare 3 */
AnnaBridge 163:e59c8e839560 621 #define LL_HRTIM_ADCTRIG_SRC24_TIMCCMP4 HRTIM_ADC2R_AD2TCC4 /*!< ADC Trigger on Timer C compare 4 */
AnnaBridge 163:e59c8e839560 622 #define LL_HRTIM_ADCTRIG_SRC24_TIMCPER HRTIM_ADC2R_AD2TCPER /*!< ADC Trigger on Timer C period */
AnnaBridge 163:e59c8e839560 623 #define LL_HRTIM_ADCTRIG_SRC24_TIMCRST HRTIM_ADC2R_AD2TCRST /*!< ADC Trigger on Timer C reset */
AnnaBridge 163:e59c8e839560 624 #define LL_HRTIM_ADCTRIG_SRC24_TIMDCMP2 HRTIM_ADC2R_AD2TDC2 /*!< ADC Trigger on Timer D compare 2 */
AnnaBridge 163:e59c8e839560 625 #define LL_HRTIM_ADCTRIG_SRC24_TIMDCMP3 HRTIM_ADC2R_AD2TDC3 /*!< ADC Trigger on Timer D compare 3 */
AnnaBridge 163:e59c8e839560 626 #define LL_HRTIM_ADCTRIG_SRC24_TIMDCMP4 HRTIM_ADC2R_AD2TDC4 /*!< ADC Trigger on Timer D compare 4 */
AnnaBridge 163:e59c8e839560 627 #define LL_HRTIM_ADCTRIG_SRC24_TIMDPER HRTIM_ADC2R_AD2TDPER /*!< ADC Trigger on Timer D period */
AnnaBridge 163:e59c8e839560 628 #define LL_HRTIM_ADCTRIG_SRC24_TIMDRST HRTIM_ADC2R_AD2TDRST /*!< ADC Trigger on Timer D reset */
AnnaBridge 163:e59c8e839560 629 #define LL_HRTIM_ADCTRIG_SRC24_TIMECMP2 HRTIM_ADC2R_AD2TEC2 /*!< ADC Trigger on Timer E compare 2 */
AnnaBridge 163:e59c8e839560 630 #define LL_HRTIM_ADCTRIG_SRC24_TIMECMP3 HRTIM_ADC2R_AD2TEC3 /*!< ADC Trigger on Timer E compare 3 */
AnnaBridge 163:e59c8e839560 631 #define LL_HRTIM_ADCTRIG_SRC24_TIMECMP4 HRTIM_ADC2R_AD2TEC4 /*!< ADC Trigger on Timer E compare 4 */
AnnaBridge 163:e59c8e839560 632 #define LL_HRTIM_ADCTRIG_SRC24_TIMERST HRTIM_ADC2R_AD2TERST /*!< ADC Trigger on Timer E reset */
AnnaBridge 163:e59c8e839560 633 /**
AnnaBridge 163:e59c8e839560 634 * @}
AnnaBridge 163:e59c8e839560 635 */
AnnaBridge 163:e59c8e839560 636
AnnaBridge 163:e59c8e839560 637 /** @defgroup HRTIM_EC_DLLCALIBRATION_MODE DLL CALIBRATION MODE
AnnaBridge 163:e59c8e839560 638 * @{
AnnaBridge 163:e59c8e839560 639 * @brief Constants defining the DLL calibration mode.
AnnaBridge 163:e59c8e839560 640 */
AnnaBridge 163:e59c8e839560 641 #define LL_HRTIM_DLLCALIBRATION_MODE_SINGLESHOT ((uint32_t)0x00000000U)/*!<Calibration is perfomed only once */
AnnaBridge 163:e59c8e839560 642 #define LL_HRTIM_DLLCALIBRATION_MODE_CONTINUOUS HRTIM_DLLCR_CALEN /*!<Calibration is performed periodically */
AnnaBridge 163:e59c8e839560 643 /**
AnnaBridge 163:e59c8e839560 644 * @}
AnnaBridge 163:e59c8e839560 645 */
AnnaBridge 163:e59c8e839560 646
AnnaBridge 163:e59c8e839560 647 /** @defgroup HRTIM_EC_CALIBRATIONRATE DLL CALIBRATION RATE
AnnaBridge 163:e59c8e839560 648 * @{
AnnaBridge 163:e59c8e839560 649 * @brief Constants defining the DLL calibration periods (in micro seconds).
AnnaBridge 163:e59c8e839560 650 */
AnnaBridge 163:e59c8e839560 651 #define LL_HRTIM_DLLCALIBRATION_RATE_7300 ((uint32_t)0x00000000U) /*!< Periodic DLL calibration: T = 1048576 * tHRTIM (7.3 ms) */
AnnaBridge 163:e59c8e839560 652 #define LL_HRTIM_DLLCALIBRATION_RATE_910 (HRTIM_DLLCR_CALRTE_0) /*!< Periodic DLL calibration: T = 131072 * tHRTIM (910 ms) */
AnnaBridge 163:e59c8e839560 653 #define LL_HRTIM_DLLCALIBRATION_RATE_114 (HRTIM_DLLCR_CALRTE_1) /*!< Periodic DLL calibration: T = 16384 * tHRTIM (114 ms) */
AnnaBridge 163:e59c8e839560 654 #define LL_HRTIM_DLLCALIBRATION_RATE_14 (HRTIM_DLLCR_CALRTE_1 | HRTIM_DLLCR_CALRTE_0) /*!< Periodic DLL calibration: T = 2048 * tHRTIM (14 ms) */
AnnaBridge 163:e59c8e839560 655 /**
AnnaBridge 163:e59c8e839560 656 * @}
AnnaBridge 163:e59c8e839560 657 */
AnnaBridge 163:e59c8e839560 658
AnnaBridge 163:e59c8e839560 659 /** @defgroup HRTIM_EC_PRESCALERRATIO PRESCALER RATIO
AnnaBridge 163:e59c8e839560 660 * @{
AnnaBridge 163:e59c8e839560 661 * @brief Constants defining timer high-resolution clock prescaler ratio.
AnnaBridge 163:e59c8e839560 662 */
AnnaBridge 163:e59c8e839560 663 #define LL_HRTIM_PRESCALERRATIO_MUL32 ((uint32_t)0x00000000U) /*!< fHRCK: fHRTIM x 32 = 4.608 GHz - Resolution: 217 ps - Min PWM frequency: 70.3 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 664 #define LL_HRTIM_PRESCALERRATIO_MUL16 ((uint32_t)0x00000001U) /*!< fHRCK: fHRTIM x 16 = 2.304 GHz - Resolution: 434 ps - Min PWM frequency: 35.1 KHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 665 #define LL_HRTIM_PRESCALERRATIO_MUL8 ((uint32_t)0x00000002U) /*!< fHRCK: fHRTIM x 8 = 1.152 GHz - Resolution: 868 ps - Min PWM frequency: 17.6 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 666 #define LL_HRTIM_PRESCALERRATIO_MUL4 ((uint32_t)0x00000003U) /*!< fHRCK: fHRTIM x 4 = 576 MHz - Resolution: 1.73 ns - Min PWM frequency: 8.8 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 667 #define LL_HRTIM_PRESCALERRATIO_MUL2 ((uint32_t)0x00000004U) /*!< fHRCK: fHRTIM x 2 = 288 MHz - Resolution: 3.47 ns - Min PWM frequency: 4.4 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 668 #define LL_HRTIM_PRESCALERRATIO_DIV1 ((uint32_t)0x00000005U) /*!< fHRCK: fHRTIM = 144 MHz - Resolution: 6.95 ns - Min PWM frequency: 2.2 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 669 #define LL_HRTIM_PRESCALERRATIO_DIV2 ((uint32_t)0x00000006U) /*!< fHRCK: fHRTIM / 2 = 72 MHz - Resolution: 13.88 ns- Min PWM frequency: 1.1 kHz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 670 #define LL_HRTIM_PRESCALERRATIO_DIV4 ((uint32_t)0x00000007U) /*!< fHRCK: fHRTIM / 4 = 36 MHz - Resolution: 27.7 ns- Min PWM frequency: 550Hz (fHRTIM=144MHz) */
AnnaBridge 163:e59c8e839560 671 /**
AnnaBridge 163:e59c8e839560 672 * @}
AnnaBridge 163:e59c8e839560 673 */
AnnaBridge 163:e59c8e839560 674
AnnaBridge 163:e59c8e839560 675 /** @defgroup HRTIM_EC_MODE COUNTER MODE
AnnaBridge 163:e59c8e839560 676 * @{
AnnaBridge 163:e59c8e839560 677 * @brief Constants defining timer counter operating mode.
AnnaBridge 163:e59c8e839560 678 */
AnnaBridge 163:e59c8e839560 679 #define LL_HRTIM_MODE_CONTINUOUS ((uint32_t)0x00000008U) /*!< The timer operates in continuous (free-running) mode */
AnnaBridge 163:e59c8e839560 680 #define LL_HRTIM_MODE_SINGLESHOT ((uint32_t)0x00000000U) /*!< The timer operates in non retriggerable single-shot mode */
AnnaBridge 163:e59c8e839560 681 #define LL_HRTIM_MODE_RETRIGGERABLE ((uint32_t)0x00000010U) /*!< The timer operates in retriggerable single-shot mode */
AnnaBridge 163:e59c8e839560 682 /**
AnnaBridge 163:e59c8e839560 683 * @}
AnnaBridge 163:e59c8e839560 684 */
AnnaBridge 163:e59c8e839560 685
AnnaBridge 163:e59c8e839560 686 /** @defgroup HRTIM_EC_DACTRIG DAC TRIGGER
AnnaBridge 163:e59c8e839560 687 * @{
AnnaBridge 163:e59c8e839560 688 * @brief Constants defining on which output the DAC synchronization event is sent.
AnnaBridge 163:e59c8e839560 689 */
AnnaBridge 163:e59c8e839560 690 #define LL_HRTIM_DACTRIG_NONE ((uint32_t)0x00000000U) /*!< No DAC synchronization event generated */
AnnaBridge 163:e59c8e839560 691 #define LL_HRTIM_DACTRIG_DACTRIGOUT_1 (HRTIM_MCR_DACSYNC_0) /*!< DAC synchronization event generated on DACTrigOut1 output upon timer update */
AnnaBridge 163:e59c8e839560 692 #define LL_HRTIM_DACTRIG_DACTRIGOUT_2 (HRTIM_MCR_DACSYNC_1) /*!< DAC synchronization event generated on DACTrigOut2 output upon timer update */
AnnaBridge 163:e59c8e839560 693 #define LL_HRTIM_DACTRIG_DACTRIGOUT_3 (HRTIM_MCR_DACSYNC_1 | HRTIM_MCR_DACSYNC_0) /*!< DAC synchronization event generated on DACTrigOut3 output upon timer update */
AnnaBridge 163:e59c8e839560 694 /**
AnnaBridge 163:e59c8e839560 695 * @}
AnnaBridge 163:e59c8e839560 696 */
AnnaBridge 163:e59c8e839560 697
AnnaBridge 163:e59c8e839560 698 /** @defgroup HRTIM_EC_UPDATETRIG UPDATE TRIGGER
AnnaBridge 163:e59c8e839560 699 * @{
AnnaBridge 163:e59c8e839560 700 * @brief Constants defining whether the registers update is done synchronously with any other timer or master update.
AnnaBridge 163:e59c8e839560 701 */
AnnaBridge 163:e59c8e839560 702 #define LL_HRTIM_UPDATETRIG_NONE ((uint32_t)0x00000000U)/*!< Register update is disabled */
AnnaBridge 163:e59c8e839560 703 #define LL_HRTIM_UPDATETRIG_MASTER HRTIM_TIMCR_MSTU /*!< Register update is triggered by the master timer update */
AnnaBridge 163:e59c8e839560 704 #define LL_HRTIM_UPDATETRIG_TIMER_A HRTIM_TIMCR_TAU /*!< Register update is triggered by the timer A update */
AnnaBridge 163:e59c8e839560 705 #define LL_HRTIM_UPDATETRIG_TIMER_B HRTIM_TIMCR_TBU /*!< Register update is triggered by the timer B update */
AnnaBridge 163:e59c8e839560 706 #define LL_HRTIM_UPDATETRIG_TIMER_C HRTIM_TIMCR_TCU /*!< Register update is triggered by the timer C update*/
AnnaBridge 163:e59c8e839560 707 #define LL_HRTIM_UPDATETRIG_TIMER_D HRTIM_TIMCR_TDU /*!< Register update is triggered by the timer D update */
AnnaBridge 163:e59c8e839560 708 #define LL_HRTIM_UPDATETRIG_TIMER_E HRTIM_TIMCR_TEU /*!< Register update is triggered by the timer E update */
AnnaBridge 163:e59c8e839560 709 #define LL_HRTIM_UPDATETRIG_REPETITION HRTIM_TIMCR_TREPU /*!< Register update is triggered when the counter rolls over and HRTIM_REPx = 0*/
AnnaBridge 163:e59c8e839560 710 #define LL_HRTIM_UPDATETRIG_RESET HRTIM_TIMCR_TRSTU /*!< Register update is triggered by counter reset or roll-over to 0 after reaching the period value in continuous mode */
AnnaBridge 163:e59c8e839560 711 /**
AnnaBridge 163:e59c8e839560 712 * @}
AnnaBridge 163:e59c8e839560 713 */
AnnaBridge 163:e59c8e839560 714
AnnaBridge 163:e59c8e839560 715 /** @defgroup HRTIM_EC_UPDATEGATING UPDATE GATING
AnnaBridge 163:e59c8e839560 716 * @{
AnnaBridge 163:e59c8e839560 717 * @brief Constants defining how the update occurs relatively to the burst DMA transaction and the external update request on update enable inputs 1 to 3.
AnnaBridge 163:e59c8e839560 718 */
AnnaBridge 163:e59c8e839560 719 #define LL_HRTIM_UPDATEGATING_INDEPENDENT ((uint32_t)0x00000000U) /*!< Update done independently from the DMA burst transfer completion */
AnnaBridge 163:e59c8e839560 720 #define LL_HRTIM_UPDATEGATING_DMABURST (HRTIM_TIMCR_UPDGAT_0) /*!< Update done when the DMA burst transfer is completed */
AnnaBridge 163:e59c8e839560 721 #define LL_HRTIM_UPDATEGATING_DMABURST_UPDATE (HRTIM_TIMCR_UPDGAT_1) /*!< Update done on timer roll-over following a DMA burst transfer completion*/
AnnaBridge 163:e59c8e839560 722 #define LL_HRTIM_UPDATEGATING_UPDEN1 (HRTIM_TIMCR_UPDGAT_1 | HRTIM_TIMCR_UPDGAT_0) /*!< Slave timer only - Update done on a rising edge of HRTIM update enable input 1 */
AnnaBridge 163:e59c8e839560 723 #define LL_HRTIM_UPDATEGATING_UPDEN2 (HRTIM_TIMCR_UPDGAT_2) /*!< Slave timer only - Update done on a rising edge of HRTIM update enable input 2 */
AnnaBridge 163:e59c8e839560 724 #define LL_HRTIM_UPDATEGATING_UPDEN3 (HRTIM_TIMCR_UPDGAT_2 | HRTIM_TIMCR_UPDGAT_0) /*!< Slave timer only - Update done on a rising edge of HRTIM update enable input 3 */
AnnaBridge 163:e59c8e839560 725 #define LL_HRTIM_UPDATEGATING_UPDEN1_UPDATE (HRTIM_TIMCR_UPDGAT_2 | HRTIM_TIMCR_UPDGAT_1) /*!< Slave timer only - Update done on the update event following a rising edge of HRTIM update enable input 1 */
AnnaBridge 163:e59c8e839560 726 #define LL_HRTIM_UPDATEGATING_UPDEN2_UPDATE (HRTIM_TIMCR_UPDGAT_2 | HRTIM_TIMCR_UPDGAT_1 | HRTIM_TIMCR_UPDGAT_0) /*!< Slave timer only - Update done on the update event following a rising edge of HRTIM update enable input 2 */
AnnaBridge 163:e59c8e839560 727 #define LL_HRTIM_UPDATEGATING_UPDEN3_UPDATE (HRTIM_TIMCR_UPDGAT_3) /*!< Slave timer only - Update done on the update event following a rising edge of HRTIM update enable input 3 */
AnnaBridge 163:e59c8e839560 728 /**
AnnaBridge 163:e59c8e839560 729 * @}
AnnaBridge 163:e59c8e839560 730 */
AnnaBridge 163:e59c8e839560 731
AnnaBridge 163:e59c8e839560 732 /** @defgroup HRTIM_EC_COMPAREMODE COMPARE MODE
AnnaBridge 163:e59c8e839560 733 * @{
AnnaBridge 163:e59c8e839560 734 * @brief Constants defining whether the compare register is behaving in regular mode (compare match issued as soon as counter equal compare) or in auto-delayed mode.
AnnaBridge 163:e59c8e839560 735 */
AnnaBridge 163:e59c8e839560 736 #define LL_HRTIM_COMPAREMODE_REGULAR ((uint32_t)0x00000000U) /*!< standard compare mode */
AnnaBridge 163:e59c8e839560 737 #define LL_HRTIM_COMPAREMODE_DELAY_NOTIMEOUT (HRTIM_TIMCR_DELCMP2_0) /*!< Compare event generated only if a capture has occurred */
AnnaBridge 163:e59c8e839560 738 #define LL_HRTIM_COMPAREMODE_DELAY_CMP1 (HRTIM_TIMCR_DELCMP2_1) /*!< Compare event generated if a capture has occurred or after a Compare 1 match (timeout if capture event is missing) */
AnnaBridge 163:e59c8e839560 739 #define LL_HRTIM_COMPAREMODE_DELAY_CMP3 (HRTIM_TIMCR_DELCMP2_1 | HRTIM_TIMCR_DELCMP2_0) /*!< Compare event generated if a capture has occurred or after a Compare 3 match (timeout if capture event is missing) */
AnnaBridge 163:e59c8e839560 740 /**
AnnaBridge 163:e59c8e839560 741 * @}
AnnaBridge 163:e59c8e839560 742 */
AnnaBridge 163:e59c8e839560 743
AnnaBridge 163:e59c8e839560 744 /** @defgroup HRTIM_EC_RESETTRIG RESET TRIGGER
AnnaBridge 163:e59c8e839560 745 * @{
AnnaBridge 163:e59c8e839560 746 * @brief Constants defining the events that can be selected to trigger the reset of the timer counter.
AnnaBridge 163:e59c8e839560 747 */
AnnaBridge 163:e59c8e839560 748 #define LL_HRTIM_RESETTRIG_NONE ((uint32_t)0x00000000U)/*!< No counter reset trigger */
AnnaBridge 163:e59c8e839560 749 #define LL_HRTIM_RESETTRIG_UPDATE HRTIM_RSTR_UPDATE /*!< The timer counter is reset upon update event */
AnnaBridge 163:e59c8e839560 750 #define LL_HRTIM_RESETTRIG_CMP2 HRTIM_RSTR_CMP2 /*!< The timer counter is reset upon Timer Compare 2 event */
AnnaBridge 163:e59c8e839560 751 #define LL_HRTIM_RESETTRIG_CMP4 HRTIM_RSTR_CMP4 /*!< The timer counter is reset upon Timer Compare 4 event */
AnnaBridge 163:e59c8e839560 752 #define LL_HRTIM_RESETTRIG_MASTER_PER HRTIM_RSTR_MSTPER /*!< The timer counter is reset upon master timer period event */
AnnaBridge 163:e59c8e839560 753 #define LL_HRTIM_RESETTRIG_MASTER_CMP1 HRTIM_RSTR_MSTCMP1 /*!< The timer counter is reset upon master timer Compare 1 event */
AnnaBridge 163:e59c8e839560 754 #define LL_HRTIM_RESETTRIG_MASTER_CMP2 HRTIM_RSTR_MSTCMP2 /*!< The timer counter is reset upon master timer Compare 2 event */
AnnaBridge 163:e59c8e839560 755 #define LL_HRTIM_RESETTRIG_MASTER_CMP3 HRTIM_RSTR_MSTCMP3 /*!< The timer counter is reset upon master timer Compare 3 event */
AnnaBridge 163:e59c8e839560 756 #define LL_HRTIM_RESETTRIG_MASTER_CMP4 HRTIM_RSTR_MSTCMP4 /*!< The timer counter is reset upon master timer Compare 4 event */
AnnaBridge 163:e59c8e839560 757 #define LL_HRTIM_RESETTRIG_EEV_1 HRTIM_RSTR_EXTEVNT1 /*!< The timer counter is reset upon external event 1 */
AnnaBridge 163:e59c8e839560 758 #define LL_HRTIM_RESETTRIG_EEV_2 HRTIM_RSTR_EXTEVNT2 /*!< The timer counter is reset upon external event 2 */
AnnaBridge 163:e59c8e839560 759 #define LL_HRTIM_RESETTRIG_EEV_3 HRTIM_RSTR_EXTEVNT3 /*!< The timer counter is reset upon external event 3 */
AnnaBridge 163:e59c8e839560 760 #define LL_HRTIM_RESETTRIG_EEV_4 HRTIM_RSTR_EXTEVNT4 /*!< The timer counter is reset upon external event 4 */
AnnaBridge 163:e59c8e839560 761 #define LL_HRTIM_RESETTRIG_EEV_5 HRTIM_RSTR_EXTEVNT5 /*!< The timer counter is reset upon external event 5 */
AnnaBridge 163:e59c8e839560 762 #define LL_HRTIM_RESETTRIG_EEV_6 HRTIM_RSTR_EXTEVNT6 /*!< The timer counter is reset upon external event 6 */
AnnaBridge 163:e59c8e839560 763 #define LL_HRTIM_RESETTRIG_EEV_7 HRTIM_RSTR_EXTEVNT7 /*!< The timer counter is reset upon external event 7 */
AnnaBridge 163:e59c8e839560 764 #define LL_HRTIM_RESETTRIG_EEV_8 HRTIM_RSTR_EXTEVNT8 /*!< The timer counter is reset upon external event 8 */
AnnaBridge 163:e59c8e839560 765 #define LL_HRTIM_RESETTRIG_EEV_9 HRTIM_RSTR_EXTEVNT9 /*!< The timer counter is reset upon external event 9 */
AnnaBridge 163:e59c8e839560 766 #define LL_HRTIM_RESETTRIG_EEV_10 HRTIM_RSTR_EXTEVNT10 /*!< The timer counter is reset upon external event 10 */
AnnaBridge 163:e59c8e839560 767 #define LL_HRTIM_RESETTRIG_OTHER1_CMP1 HRTIM_RSTR_TIMBCMP1 /*!< The timer counter is reset upon other timer Compare 1 event */
AnnaBridge 163:e59c8e839560 768 #define LL_HRTIM_RESETTRIG_OTHER1_CMP2 HRTIM_RSTR_TIMBCMP2 /*!< The timer counter is reset upon other timer Compare 2 event */
AnnaBridge 163:e59c8e839560 769 #define LL_HRTIM_RESETTRIG_OTHER1_CMP4 HRTIM_RSTR_TIMBCMP4 /*!< The timer counter is reset upon other timer Compare 4 event */
AnnaBridge 163:e59c8e839560 770 #define LL_HRTIM_RESETTRIG_OTHER2_CMP1 HRTIM_RSTR_TIMCCMP1 /*!< The timer counter is reset upon other timer Compare 1 event */
AnnaBridge 163:e59c8e839560 771 #define LL_HRTIM_RESETTRIG_OTHER2_CMP2 HRTIM_RSTR_TIMCCMP2 /*!< The timer counter is reset upon other timer Compare 2 event */
AnnaBridge 163:e59c8e839560 772 #define LL_HRTIM_RESETTRIG_OTHER2_CMP4 HRTIM_RSTR_TIMCCMP4 /*!< The timer counter is reset upon other timer Compare 4 event */
AnnaBridge 163:e59c8e839560 773 #define LL_HRTIM_RESETTRIG_OTHER3_CMP1 HRTIM_RSTR_TIMDCMP1 /*!< The timer counter is reset upon other timer Compare 1 event */
AnnaBridge 163:e59c8e839560 774 #define LL_HRTIM_RESETTRIG_OTHER3_CMP2 HRTIM_RSTR_TIMDCMP2 /*!< The timer counter is reset upon other timer Compare 2 event */
AnnaBridge 163:e59c8e839560 775 #define LL_HRTIM_RESETTRIG_OTHER3_CMP4 HRTIM_RSTR_TIMDCMP4 /*!< The timer counter is reset upon other timer Compare 4 event */
AnnaBridge 163:e59c8e839560 776 #define LL_HRTIM_RESETTRIG_OTHER4_CMP1 HRTIM_RSTR_TIMECMP1 /*!< The timer counter is reset upon other timer Compare 1 event */
AnnaBridge 163:e59c8e839560 777 #define LL_HRTIM_RESETTRIG_OTHER4_CMP2 HRTIM_RSTR_TIMECMP2 /*!< The timer counter is reset upon other timer Compare 2 event */
AnnaBridge 163:e59c8e839560 778 #define LL_HRTIM_RESETTRIG_OTHER4_CMP4 HRTIM_RSTR_TIMECMP4 /*!< The timer counter is reset upon other timer Compare 4 event */
AnnaBridge 163:e59c8e839560 779 /**
AnnaBridge 163:e59c8e839560 780 * @}
AnnaBridge 163:e59c8e839560 781 */
AnnaBridge 163:e59c8e839560 782
AnnaBridge 163:e59c8e839560 783 /** @defgroup HRTIM_EC_CAPTURETRIG CAPTURE TRIGGER
AnnaBridge 163:e59c8e839560 784 * @{
AnnaBridge 163:e59c8e839560 785 * @brief Constants defining the events that can be selected to trigger the capture of the timing unit counter.
AnnaBridge 163:e59c8e839560 786 */
AnnaBridge 163:e59c8e839560 787 #define LL_HRTIM_CAPTURETRIG_NONE ((uint32_t)0x00000000U)/*!< Capture trigger is disabled */
AnnaBridge 163:e59c8e839560 788 #define LL_HRTIM_CAPTURETRIG_UPDATE HRTIM_CPT1CR_UPDCPT /*!< The update event triggers the Capture */
AnnaBridge 163:e59c8e839560 789 #define LL_HRTIM_CAPTURETRIG_EEV_1 HRTIM_CPT1CR_EXEV1CPT /*!< The External event 1 triggers the Capture */
AnnaBridge 163:e59c8e839560 790 #define LL_HRTIM_CAPTURETRIG_EEV_2 HRTIM_CPT1CR_EXEV2CPT /*!< The External event 2 triggers the Capture */
AnnaBridge 163:e59c8e839560 791 #define LL_HRTIM_CAPTURETRIG_EEV_3 HRTIM_CPT1CR_EXEV3CPT /*!< The External event 3 triggers the Capture */
AnnaBridge 163:e59c8e839560 792 #define LL_HRTIM_CAPTURETRIG_EEV_4 HRTIM_CPT1CR_EXEV4CPT /*!< The External event 4 triggers the Capture */
AnnaBridge 163:e59c8e839560 793 #define LL_HRTIM_CAPTURETRIG_EEV_5 HRTIM_CPT1CR_EXEV5CPT /*!< The External event 5 triggers the Capture */
AnnaBridge 163:e59c8e839560 794 #define LL_HRTIM_CAPTURETRIG_EEV_6 HRTIM_CPT1CR_EXEV6CPT /*!< The External event 6 triggers the Capture */
AnnaBridge 163:e59c8e839560 795 #define LL_HRTIM_CAPTURETRIG_EEV_7 HRTIM_CPT1CR_EXEV7CPT /*!< The External event 7 triggers the Capture */
AnnaBridge 163:e59c8e839560 796 #define LL_HRTIM_CAPTURETRIG_EEV_8 HRTIM_CPT1CR_EXEV8CPT /*!< The External event 8 triggers the Capture */
AnnaBridge 163:e59c8e839560 797 #define LL_HRTIM_CAPTURETRIG_EEV_9 HRTIM_CPT1CR_EXEV9CPT /*!< The External event 9 triggers the Capture */
AnnaBridge 163:e59c8e839560 798 #define LL_HRTIM_CAPTURETRIG_EEV_10 HRTIM_CPT1CR_EXEV10CPT /*!< The External event 10 triggers the Capture */
AnnaBridge 163:e59c8e839560 799 #define LL_HRTIM_CAPTURETRIG_TA1_SET HRTIM_CPT1CR_TA1SET /*!< Capture is triggered by TA1 output inactive to active transition */
AnnaBridge 163:e59c8e839560 800 #define LL_HRTIM_CAPTURETRIG_TA1_RESET HRTIM_CPT1CR_TA1RST /*!< Capture is triggered by TA1 output active to inactive transition */
AnnaBridge 163:e59c8e839560 801 #define LL_HRTIM_CAPTURETRIG_TIMA_CMP1 HRTIM_CPT1CR_TIMACMP1 /*!< Timer A Compare 1 triggers Capture */
AnnaBridge 163:e59c8e839560 802 #define LL_HRTIM_CAPTURETRIG_TIMA_CMP2 HRTIM_CPT1CR_TIMACMP2 /*!< Timer A Compare 2 triggers Capture */
AnnaBridge 163:e59c8e839560 803 #define LL_HRTIM_CAPTURETRIG_TB1_SET HRTIM_CPT1CR_TB1SET /*!< Capture is triggered by TB1 output inactive to active transition */
AnnaBridge 163:e59c8e839560 804 #define LL_HRTIM_CAPTURETRIG_TB1_RESET HRTIM_CPT1CR_TB1RST /*!< Capture is triggered by TB1 output active to inactive transition */
AnnaBridge 163:e59c8e839560 805 #define LL_HRTIM_CAPTURETRIG_TIMB_CMP1 HRTIM_CPT1CR_TIMBCMP1 /*!< Timer B Compare 1 triggers Capture */
AnnaBridge 163:e59c8e839560 806 #define LL_HRTIM_CAPTURETRIG_TIMB_CMP2 HRTIM_CPT1CR_TIMBCMP2 /*!< Timer B Compare 2 triggers Capture */
AnnaBridge 163:e59c8e839560 807 #define LL_HRTIM_CAPTURETRIG_TC1_SET HRTIM_CPT1CR_TC1SET /*!< Capture is triggered by TC1 output inactive to active transition */
AnnaBridge 163:e59c8e839560 808 #define LL_HRTIM_CAPTURETRIG_TC1_RESET HRTIM_CPT1CR_TC1RST /*!< Capture is triggered by TC1 output active to inactive transition */
AnnaBridge 163:e59c8e839560 809 #define LL_HRTIM_CAPTURETRIG_TIMC_CMP1 HRTIM_CPT1CR_TIMCCMP1 /*!< Timer C Compare 1 triggers Capture */
AnnaBridge 163:e59c8e839560 810 #define LL_HRTIM_CAPTURETRIG_TIMC_CMP2 HRTIM_CPT1CR_TIMCCMP2 /*!< Timer C Compare 2 triggers Capture */
AnnaBridge 163:e59c8e839560 811 #define LL_HRTIM_CAPTURETRIG_TD1_SET HRTIM_CPT1CR_TD1SET /*!< Capture is triggered by TD1 output inactive to active transition */
AnnaBridge 163:e59c8e839560 812 #define LL_HRTIM_CAPTURETRIG_TD1_RESET HRTIM_CPT1CR_TD1RST /*!< Capture is triggered by TD1 output active to inactive transition */
AnnaBridge 163:e59c8e839560 813 #define LL_HRTIM_CAPTURETRIG_TIMD_CMP1 HRTIM_CPT1CR_TIMDCMP1 /*!< Timer D Compare 1 triggers Capture */
AnnaBridge 163:e59c8e839560 814 #define LL_HRTIM_CAPTURETRIG_TIMD_CMP2 HRTIM_CPT1CR_TIMDCMP2 /*!< Timer D Compare 2 triggers Capture */
AnnaBridge 163:e59c8e839560 815 #define LL_HRTIM_CAPTURETRIG_TE1_SET HRTIM_CPT1CR_TE1SET /*!< Capture is triggered by TE1 output inactive to active transition */
AnnaBridge 163:e59c8e839560 816 #define LL_HRTIM_CAPTURETRIG_TE1_RESET HRTIM_CPT1CR_TE1RST /*!< Capture is triggered by TE1 output active to inactive transition */
AnnaBridge 163:e59c8e839560 817 #define LL_HRTIM_CAPTURETRIG_TIME_CMP1 HRTIM_CPT1CR_TIMECMP1 /*!< Timer E Compare 1 triggers Capture */
AnnaBridge 163:e59c8e839560 818 #define LL_HRTIM_CAPTURETRIG_TIME_CMP2 HRTIM_CPT1CR_TIMECMP2 /*!< Timer E Compare 2 triggers Capture */
AnnaBridge 163:e59c8e839560 819 /**
AnnaBridge 163:e59c8e839560 820 * @}
AnnaBridge 163:e59c8e839560 821 */
AnnaBridge 163:e59c8e839560 822
AnnaBridge 163:e59c8e839560 823 /** @defgroup HRTIM_EC_DLYPRT DELAYED PROTECTION (DLYPRT) MODE
AnnaBridge 163:e59c8e839560 824 * @{
AnnaBridge 163:e59c8e839560 825 * @brief Constants defining all possible delayed protection modes for a timer (also define the source and outputs on which the delayed protection schemes are applied).
AnnaBridge 163:e59c8e839560 826 */
AnnaBridge 163:e59c8e839560 827 #define LL_HRTIM_DLYPRT_DELAYOUT1_EEV6 ((uint32_t)0x00000000U) /*!< Timers A, B, C: Output 1 delayed Idle on external Event 6 */
AnnaBridge 163:e59c8e839560 828 #define LL_HRTIM_DLYPRT_DELAYOUT2_EEV6 (HRTIM_OUTR_DLYPRT_0) /*!< Timers A, B, C: Output 2 delayed Idle on external Event 6 */
AnnaBridge 163:e59c8e839560 829 #define LL_HRTIM_DLYPRT_DELAYBOTH_EEV6 (HRTIM_OUTR_DLYPRT_1) /*!< Timers A, B, C: Output 1 and output 2 delayed Idle on external Event 6 */
AnnaBridge 163:e59c8e839560 830 #define LL_HRTIM_DLYPRT_BALANCED_EEV6 (HRTIM_OUTR_DLYPRT_1 | HRTIM_OUTR_DLYPRT_0) /*!< Timers A, B, C: Balanced Idle on external Event 6 */
AnnaBridge 163:e59c8e839560 831 #define LL_HRTIM_DLYPRT_DELAYOUT1_EEV7 (HRTIM_OUTR_DLYPRT_2) /*!< Timers A, B, C: Output 1 delayed Idle on external Event 7 */
AnnaBridge 163:e59c8e839560 832 #define LL_HRTIM_DLYPRT_DELAYOUT2_EEV7 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_0) /*!< Timers A, B, C: Output 2 delayed Idle on external Event 7 */
AnnaBridge 163:e59c8e839560 833 #define LL_HRTIM_DLYPRT_DELAYBOTH_EEV7 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_1) /*!< Timers A, B, C: Output 1 and output2 delayed Idle on external Event 7 */
AnnaBridge 163:e59c8e839560 834 #define LL_HRTIM_DLYPRT_BALANCED_EEV7 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_1 | HRTIM_OUTR_DLYPRT_0) /*!< Timers A, B, C: Balanced Idle on external Event 7 */
AnnaBridge 163:e59c8e839560 835
AnnaBridge 163:e59c8e839560 836 #define LL_HRTIM_DLYPRT_DELAYOUT1_EEV8 ((uint32_t)0x00000000U) /*!< Timers D, E: Output 1 delayed Idle on external Event 8 */
AnnaBridge 163:e59c8e839560 837 #define LL_HRTIM_DLYPRT_DELAYOUT2_EEV8 (HRTIM_OUTR_DLYPRT_0) /*!< Timers D, E: Output 2 delayed Idle on external Event 8 */
AnnaBridge 163:e59c8e839560 838 #define LL_HRTIM_DLYPRT_DELAYBOTH_EEV8 (HRTIM_OUTR_DLYPRT_1) /*!< Timers D, E: Output 1 and output 2 delayed Idle on external Event 8 */
AnnaBridge 163:e59c8e839560 839 #define LL_HRTIM_DLYPRT_BALANCED_EEV8 (HRTIM_OUTR_DLYPRT_1 | HRTIM_OUTR_DLYPRT_0) /*!< Timers D, E: Balanced Idle on external Event 8 */
AnnaBridge 163:e59c8e839560 840 #define LL_HRTIM_DLYPRT_DELAYOUT1_EEV9 (HRTIM_OUTR_DLYPRT_2) /*!< Timers D, E: Output 1 delayed Idle on external Event 9 */
AnnaBridge 163:e59c8e839560 841 #define LL_HRTIM_DLYPRT_DELAYOUT2_EEV9 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_0) /*!< Timers D, E: Output 2 delayed Idle on external Event 9 */
AnnaBridge 163:e59c8e839560 842 #define LL_HRTIM_DLYPRT_DELAYBOTH_EEV9 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_1) /*!< Timers D, E: Output 1 and output2 delayed Idle on external Event 9 */
AnnaBridge 163:e59c8e839560 843 #define LL_HRTIM_DLYPRT_BALANCED_EEV9 (HRTIM_OUTR_DLYPRT_2 | HRTIM_OUTR_DLYPRT_1 | HRTIM_OUTR_DLYPRT_0) /*!< Timers D, E: Balanced Idle on external Event 9 */
AnnaBridge 163:e59c8e839560 844 /**
AnnaBridge 163:e59c8e839560 845 * @}
AnnaBridge 163:e59c8e839560 846 */
AnnaBridge 163:e59c8e839560 847
AnnaBridge 163:e59c8e839560 848 /** @defgroup HRTIM_EC_BURSTMODE BURST MODE
AnnaBridge 163:e59c8e839560 849 * @{
AnnaBridge 163:e59c8e839560 850 * @brief Constants defining how the timer behaves during a burst mode operation.
AnnaBridge 163:e59c8e839560 851 */
AnnaBridge 163:e59c8e839560 852 #define LL_HRTIM_BURSTMODE_MAINTAINCLOCK (uint32_t)0x000000 /*!< Timer counter clock is maintained and the timer operates normally */
AnnaBridge 163:e59c8e839560 853 #define LL_HRTIM_BURSTMODE_RESETCOUNTER (HRTIM_BMCR_MTBM) /*!< Timer counter clock is stopped and the counter is reset */
AnnaBridge 163:e59c8e839560 854 /**
AnnaBridge 163:e59c8e839560 855 * @}
AnnaBridge 163:e59c8e839560 856 */
AnnaBridge 163:e59c8e839560 857
AnnaBridge 163:e59c8e839560 858 /** @defgroup HRTIM_EC_BURSTDMA BURST DMA
AnnaBridge 163:e59c8e839560 859 * @{
AnnaBridge 163:e59c8e839560 860 * @brief Constants defining the registers that can be written during a burst DMA operation.
AnnaBridge 163:e59c8e839560 861 */
AnnaBridge 163:e59c8e839560 862 #define LL_HRTIM_BURSTDMA_NONE ((uint32_t)0x00000000U) /*!< No register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 863
AnnaBridge 163:e59c8e839560 864 #define LL_HRTIM_BURSTDMA_MCR (HRTIM_BDMUPR_MCR) /*!< MCR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 865 #define LL_HRTIM_BURSTDMA_MICR (HRTIM_BDMUPR_MICR) /*!< MICR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 866 #define LL_HRTIM_BURSTDMA_MDIER (HRTIM_BDMUPR_MDIER) /*!< MDIER register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 867 #define LL_HRTIM_BURSTDMA_MCNT (HRTIM_BDMUPR_MCNT) /*!< MCNTR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 868 #define LL_HRTIM_BURSTDMA_MPER (HRTIM_BDMUPR_MPER) /*!< MPER register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 869 #define LL_HRTIM_BURSTDMA_MREP (HRTIM_BDMUPR_MREP) /*!< MREPR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 870 #define LL_HRTIM_BURSTDMA_MCMP1 (HRTIM_BDMUPR_MCMP1) /*!< MCMP1R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 871 #define LL_HRTIM_BURSTDMA_MCMP2 (HRTIM_BDMUPR_MCMP2) /*!< MCMP2R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 872 #define LL_HRTIM_BURSTDMA_MCMP3 (HRTIM_BDMUPR_MCMP3) /*!< MCMP3R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 873 #define LL_HRTIM_BURSTDMA_MCMP4 (HRTIM_BDMUPR_MCMP4) /*!< MCMP4R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 874
AnnaBridge 163:e59c8e839560 875 #define LL_HRTIM_BURSTDMA_TIMMCR (HRTIM_BDTUPR_TIMCR) /*!< TIMxCR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 876 #define LL_HRTIM_BURSTDMA_TIMICR (HRTIM_BDTUPR_TIMICR) /*!< TIMxICR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 877 #define LL_HRTIM_BURSTDMA_TIMDIER (HRTIM_BDTUPR_TIMDIER) /*!< TIMxDIER register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 878 #define LL_HRTIM_BURSTDMA_TIMCNT (HRTIM_BDTUPR_TIMCNT) /*!< CNTxCR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 879 #define LL_HRTIM_BURSTDMA_TIMPER (HRTIM_BDTUPR_TIMPER) /*!< PERxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 880 #define LL_HRTIM_BURSTDMA_TIMREP (HRTIM_BDTUPR_TIMREP) /*!< REPxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 881 #define LL_HRTIM_BURSTDMA_TIMCMP1 (HRTIM_BDTUPR_TIMCMP1) /*!< CMP1xR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 882 #define LL_HRTIM_BURSTDMA_TIMCMP2 (HRTIM_BDTUPR_TIMCMP2) /*!< CMP2xR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 883 #define LL_HRTIM_BURSTDMA_TIMCMP3 (HRTIM_BDTUPR_TIMCMP3) /*!< CMP3xR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 884 #define LL_HRTIM_BURSTDMA_TIMCMP4 (HRTIM_BDTUPR_TIMCMP4) /*!< CMP4xR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 885 #define LL_HRTIM_BURSTDMA_TIMDTR (HRTIM_BDTUPR_TIMDTR) /*!< DTxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 886 #define LL_HRTIM_BURSTDMA_TIMSET1R (HRTIM_BDTUPR_TIMSET1R) /*!< SET1R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 887 #define LL_HRTIM_BURSTDMA_TIMRST1R (HRTIM_BDTUPR_TIMRST1R) /*!< RST1R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 888 #define LL_HRTIM_BURSTDMA_TIMSET2R (HRTIM_BDTUPR_TIMSET2R) /*!< SET2R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 889 #define LL_HRTIM_BURSTDMA_TIMRST2R (HRTIM_BDTUPR_TIMRST2R) /*!< RST1R register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 890 #define LL_HRTIM_BURSTDMA_TIMEEFR1 (HRTIM_BDTUPR_TIMEEFR1) /*!< EEFxR1 register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 891 #define LL_HRTIM_BURSTDMA_TIMEEFR2 (HRTIM_BDTUPR_TIMEEFR2) /*!< EEFxR2 register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 892 #define LL_HRTIM_BURSTDMA_TIMRSTR (HRTIM_BDTUPR_TIMRSTR) /*!< RSTxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 893 #define LL_HRTIM_BURSTDMA_TIMCHPR (HRTIM_BDTUPR_TIMCHPR) /*!< CHPxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 894 #define LL_HRTIM_BURSTDMA_TIMOUTR (HRTIM_BDTUPR_TIMOUTR) /*!< OUTxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 895 #define LL_HRTIM_BURSTDMA_TIMFLTR (HRTIM_BDTUPR_TIMFLTR) /*!< FLTxR register is updated by Burst DMA accesses */
AnnaBridge 163:e59c8e839560 896 /**
AnnaBridge 163:e59c8e839560 897 * @}
AnnaBridge 163:e59c8e839560 898 */
AnnaBridge 163:e59c8e839560 899
AnnaBridge 163:e59c8e839560 900 /** @defgroup HRTIM_EC_CPPSTAT CURRENT PUSH-PULL STATUS
AnnaBridge 163:e59c8e839560 901 * @{
AnnaBridge 163:e59c8e839560 902 * @brief Constants defining on which output the signal is currently applied in push-pull mode.
AnnaBridge 163:e59c8e839560 903 */
AnnaBridge 163:e59c8e839560 904 #define LL_HRTIM_CPPSTAT_OUTPUT1 ((uint32_t) 0x00000000U) /*!< Signal applied on output 1 and output 2 forced inactive */
AnnaBridge 163:e59c8e839560 905 #define LL_HRTIM_CPPSTAT_OUTPUT2 (HRTIM_TIMISR_CPPSTAT) /*!< Signal applied on output 2 and output 1 forced inactive */
AnnaBridge 163:e59c8e839560 906 /**
AnnaBridge 163:e59c8e839560 907 * @}
AnnaBridge 163:e59c8e839560 908 */
AnnaBridge 163:e59c8e839560 909
AnnaBridge 163:e59c8e839560 910 /** @defgroup HRTIM_EC_IPPSTAT IDLE PUSH-PULL STATUS
AnnaBridge 163:e59c8e839560 911 * @{
AnnaBridge 163:e59c8e839560 912 * @brief Constants defining on which output the signal was applied, in push-pull mode balanced fault mode or delayed idle mode, when the protection was triggered.
AnnaBridge 163:e59c8e839560 913 */
AnnaBridge 163:e59c8e839560 914 #define LL_HRTIM_IPPSTAT_OUTPUT1 ((uint32_t) 0x00000000U) /*!< Protection occurred when the output 1 was active and output 2 forced inactive */
AnnaBridge 163:e59c8e839560 915 #define LL_HRTIM_IPPSTAT_OUTPUT2 (HRTIM_TIMISR_IPPSTAT) /*!< Protection occurred when the output 2 was active and output 1 forced inactive */
AnnaBridge 163:e59c8e839560 916 /**
AnnaBridge 163:e59c8e839560 917 * @}
AnnaBridge 163:e59c8e839560 918 */
AnnaBridge 163:e59c8e839560 919
AnnaBridge 163:e59c8e839560 920 /** @defgroup HRTIM_EC_TIM_EEFLTR TIMER EXTERNAL EVENT FILTER
AnnaBridge 163:e59c8e839560 921 * @{
AnnaBridge 163:e59c8e839560 922 * @brief Constants defining the event filtering applied to external events by a timer.
AnnaBridge 163:e59c8e839560 923 */
AnnaBridge 163:e59c8e839560 924 #define LL_HRTIM_EEFLTR_NONE ((uint32_t)0x00000000U)
AnnaBridge 163:e59c8e839560 925 #define LL_HRTIM_EEFLTR_BLANKINGCMP1 (HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from counter reset/roll-over to Compare 1 */
AnnaBridge 163:e59c8e839560 926 #define LL_HRTIM_EEFLTR_BLANKINGCMP2 (HRTIM_EEFR1_EE1FLTR_1) /*!< Blanking from counter reset/roll-over to Compare 2 */
AnnaBridge 163:e59c8e839560 927 #define LL_HRTIM_EEFLTR_BLANKINGCMP3 (HRTIM_EEFR1_EE1FLTR_1 | HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from counter reset/roll-over to Compare 3 */
AnnaBridge 163:e59c8e839560 928 #define LL_HRTIM_EEFLTR_BLANKINGCMP4 (HRTIM_EEFR1_EE1FLTR_2) /*!< Blanking from counter reset/roll-over to Compare 4 */
AnnaBridge 163:e59c8e839560 929 #define LL_HRTIM_EEFLTR_BLANKINGFLTR1 (HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from another timing unit: TIMFLTR1 source */
AnnaBridge 163:e59c8e839560 930 #define LL_HRTIM_EEFLTR_BLANKINGFLTR2 (HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_1) /*!< Blanking from another timing unit: TIMFLTR2 source */
AnnaBridge 163:e59c8e839560 931 #define LL_HRTIM_EEFLTR_BLANKINGFLTR3 (HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_1 | HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from another timing unit: TIMFLTR3 source */
AnnaBridge 163:e59c8e839560 932 #define LL_HRTIM_EEFLTR_BLANKINGFLTR4 (HRTIM_EEFR1_EE1FLTR_3) /*!< Blanking from another timing unit: TIMFLTR4 source */
AnnaBridge 163:e59c8e839560 933 #define LL_HRTIM_EEFLTR_BLANKINGFLTR5 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from another timing unit: TIMFLTR5 source */
AnnaBridge 163:e59c8e839560 934 #define LL_HRTIM_EEFLTR_BLANKINGFLTR6 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_1) /*!< Blanking from another timing unit: TIMFLTR6 source */
AnnaBridge 163:e59c8e839560 935 #define LL_HRTIM_EEFLTR_BLANKINGFLTR7 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_1 | HRTIM_EEFR1_EE1FLTR_0) /*!< Blanking from another timing unit: TIMFLTR7 source */
AnnaBridge 163:e59c8e839560 936 #define LL_HRTIM_EEFLTR_BLANKINGFLTR8 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_2) /*!< Blanking from another timing unit: TIMFLTR8 source */
AnnaBridge 163:e59c8e839560 937 #define LL_HRTIM_EEFLTR_WINDOWINGCMP2 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_0) /*!< Windowing from counter reset/roll-over to Compare 2 */
AnnaBridge 163:e59c8e839560 938 #define LL_HRTIM_EEFLTR_WINDOWINGCMP3 (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_1) /*!< Windowing from counter reset/roll-over to Compare 3 */
AnnaBridge 163:e59c8e839560 939 #define LL_HRTIM_EEFLTR_WINDOWINGTIM (HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_1 | HRTIM_EEFR1_EE1FLTR_3 | HRTIM_EEFR1_EE1FLTR_2 | HRTIM_EEFR1_EE1FLTR_0) /*!< Windowing from another timing unit: TIMWIN source */
AnnaBridge 163:e59c8e839560 940 /**
AnnaBridge 163:e59c8e839560 941 * @}
AnnaBridge 163:e59c8e839560 942 */
AnnaBridge 163:e59c8e839560 943
AnnaBridge 163:e59c8e839560 944 /** @defgroup HRTIM_EC_TIM_LATCHSTATUS TIMER EXTERNAL EVENT LATCH STATUS
AnnaBridge 163:e59c8e839560 945 * @{
AnnaBridge 163:e59c8e839560 946 * @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.
AnnaBridge 163:e59c8e839560 947 */
AnnaBridge 163:e59c8e839560 948 #define LL_HRTIM_EELATCH_DISABLED ((uint32_t)0x00000000U) /*!< Event is ignored if it happens during a blank, or passed through during a window */
AnnaBridge 163:e59c8e839560 949 #define LL_HRTIM_EELATCH_ENABLED HRTIM_EEFR1_EE1LTCH /*!< Event is latched and delayed till the end of the blanking or windowing period */
AnnaBridge 163:e59c8e839560 950 /**
AnnaBridge 163:e59c8e839560 951 * @}
AnnaBridge 163:e59c8e839560 952 */
AnnaBridge 163:e59c8e839560 953
AnnaBridge 163:e59c8e839560 954 /** @defgroup HRTIM_EC_DT_PRESCALER DEADTIME PRESCALER
AnnaBridge 163:e59c8e839560 955 * @{
AnnaBridge 163:e59c8e839560 956 * @brief Constants defining division ratio between the timer clock frequency (fHRTIM) and the deadtime generator clock (fDTG).
AnnaBridge 163:e59c8e839560 957 */
AnnaBridge 163:e59c8e839560 958 #define LL_HRTIM_DT_PRESCALER_MUL8 ((uint32_t)0x00000000U) /*!< fDTG = fHRTIM * 8 */
AnnaBridge 163:e59c8e839560 959 #define LL_HRTIM_DT_PRESCALER_MUL4 (HRTIM_DTR_DTPRSC_0) /*!< fDTG = fHRTIM * 4 */
AnnaBridge 163:e59c8e839560 960 #define LL_HRTIM_DT_PRESCALER_MUL2 (HRTIM_DTR_DTPRSC_1) /*!< fDTG = fHRTIM * 2 */
AnnaBridge 163:e59c8e839560 961 #define LL_HRTIM_DT_PRESCALER_DIV1 (HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0) /*!< fDTG = fHRTIM */
AnnaBridge 163:e59c8e839560 962 #define LL_HRTIM_DT_PRESCALER_DIV2 (HRTIM_DTR_DTPRSC_2) /*!< fDTG = fHRTIM / 2 */
AnnaBridge 163:e59c8e839560 963 #define LL_HRTIM_DT_PRESCALER_DIV4 (HRTIM_DTR_DTPRSC_2 | HRTIM_DTR_DTPRSC_0) /*!< fDTG = fHRTIM / 4 */
AnnaBridge 163:e59c8e839560 964 #define LL_HRTIM_DT_PRESCALER_DIV8 (HRTIM_DTR_DTPRSC_2 | HRTIM_DTR_DTPRSC_1) /*!< fDTG = fHRTIM / 8 */
AnnaBridge 163:e59c8e839560 965 #define LL_HRTIM_DT_PRESCALER_DIV16 (HRTIM_DTR_DTPRSC_2 | HRTIM_DTR_DTPRSC_1 | HRTIM_DTR_DTPRSC_0) /*!< fDTG = fHRTIM / 16 */
AnnaBridge 163:e59c8e839560 966 /**
AnnaBridge 163:e59c8e839560 967 * @}
AnnaBridge 163:e59c8e839560 968 */
AnnaBridge 163:e59c8e839560 969
AnnaBridge 163:e59c8e839560 970 /** @defgroup HRTIM_EC_DT_RISING_SIGN DEADTIME RISING SIGN
AnnaBridge 163:e59c8e839560 971 * @{
AnnaBridge 163:e59c8e839560 972 * @brief Constants defining whether the deadtime is positive or negative (overlapping signal) on rising edge.
AnnaBridge 163:e59c8e839560 973 */
AnnaBridge 163:e59c8e839560 974 #define LL_HRTIM_DT_RISING_POSITIVE ((uint32_t)0x00000000U) /*!< Positive deadtime on rising edge */
AnnaBridge 163:e59c8e839560 975 #define LL_HRTIM_DT_RISING_NEGATIVE (HRTIM_DTR_SDTR) /*!< Negative deadtime on rising edge */
AnnaBridge 163:e59c8e839560 976 /**
AnnaBridge 163:e59c8e839560 977 * @}
AnnaBridge 163:e59c8e839560 978 */
AnnaBridge 163:e59c8e839560 979
AnnaBridge 163:e59c8e839560 980 /** @defgroup HRTIM_EC_DT_FALLING_SIGN DEADTIME FALLING SIGN
AnnaBridge 163:e59c8e839560 981 * @{
AnnaBridge 163:e59c8e839560 982 * @brief Constants defining whether the deadtime is positive or negative (overlapping signal) on falling edge.
AnnaBridge 163:e59c8e839560 983 */
AnnaBridge 163:e59c8e839560 984 #define LL_HRTIM_DT_FALLING_POSITIVE ((uint32_t)0x00000000U) /*!< Positive deadtime on falling edge */
AnnaBridge 163:e59c8e839560 985 #define LL_HRTIM_DT_FALLING_NEGATIVE (HRTIM_DTR_SDTF) /*!< Negative deadtime on falling edge */
AnnaBridge 163:e59c8e839560 986 /**
AnnaBridge 163:e59c8e839560 987 * @}
AnnaBridge 163:e59c8e839560 988 */
AnnaBridge 163:e59c8e839560 989
AnnaBridge 163:e59c8e839560 990 /** @defgroup HRTIM_EC_CHP_PRESCALER CHOPPER MODE PRESCALER
AnnaBridge 163:e59c8e839560 991 * @{
AnnaBridge 163:e59c8e839560 992 * @brief Constants defining the frequency of the generated high frequency carrier (fCHPFRQ).
AnnaBridge 163:e59c8e839560 993 */
AnnaBridge 163:e59c8e839560 994 #define LL_HRTIM_CHP_PRESCALER_DIV16 ((uint32_t)0x00000000U) /*!< fCHPFRQ = fHRTIM / 16 */
AnnaBridge 163:e59c8e839560 995 #define LL_HRTIM_CHP_PRESCALER_DIV32 (HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 32 */
AnnaBridge 163:e59c8e839560 996 #define LL_HRTIM_CHP_PRESCALER_DIV48 (HRTIM_CHPR_CARFRQ_1) /*!< fCHPFRQ = fHRTIM / 48 */
AnnaBridge 163:e59c8e839560 997 #define LL_HRTIM_CHP_PRESCALER_DIV64 (HRTIM_CHPR_CARFRQ_1 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 64 */
AnnaBridge 163:e59c8e839560 998 #define LL_HRTIM_CHP_PRESCALER_DIV80 (HRTIM_CHPR_CARFRQ_2) /*!< fCHPFRQ = fHRTIM / 80 */
AnnaBridge 163:e59c8e839560 999 #define LL_HRTIM_CHP_PRESCALER_DIV96 (HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 96 */
AnnaBridge 163:e59c8e839560 1000 #define LL_HRTIM_CHP_PRESCALER_DIV112 (HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_1) /*!< fCHPFRQ = fHRTIM / 112 */
AnnaBridge 163:e59c8e839560 1001 #define LL_HRTIM_CHP_PRESCALER_DIV128 (HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_1 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 128 */
AnnaBridge 163:e59c8e839560 1002 #define LL_HRTIM_CHP_PRESCALER_DIV144 (HRTIM_CHPR_CARFRQ_3) /*!< fCHPFRQ = fHRTIM / 144 */
AnnaBridge 163:e59c8e839560 1003 #define LL_HRTIM_CHP_PRESCALER_DIV160 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 160 */
AnnaBridge 163:e59c8e839560 1004 #define LL_HRTIM_CHP_PRESCALER_DIV176 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_1) /*!< fCHPFRQ = fHRTIM / 176 */
AnnaBridge 163:e59c8e839560 1005 #define LL_HRTIM_CHP_PRESCALER_DIV192 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_1 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 192 */
AnnaBridge 163:e59c8e839560 1006 #define LL_HRTIM_CHP_PRESCALER_DIV208 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_2) /*!< fCHPFRQ = fHRTIM / 208 */
AnnaBridge 163:e59c8e839560 1007 #define LL_HRTIM_CHP_PRESCALER_DIV224 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 224 */
AnnaBridge 163:e59c8e839560 1008 #define LL_HRTIM_CHP_PRESCALER_DIV240 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_1) /*!< fCHPFRQ = fHRTIM / 240 */
AnnaBridge 163:e59c8e839560 1009 #define LL_HRTIM_CHP_PRESCALER_DIV256 (HRTIM_CHPR_CARFRQ_3 | HRTIM_CHPR_CARFRQ_2 | HRTIM_CHPR_CARFRQ_1 | HRTIM_CHPR_CARFRQ_0) /*!< fCHPFRQ = fHRTIM / 256 */
AnnaBridge 163:e59c8e839560 1010 /**
AnnaBridge 163:e59c8e839560 1011 * @}
AnnaBridge 163:e59c8e839560 1012 */
AnnaBridge 163:e59c8e839560 1013
AnnaBridge 163:e59c8e839560 1014 /** @defgroup HRTIM_EC_CHP_DUTYCYCLE CHOPPER MODE DUTY CYCLE
AnnaBridge 163:e59c8e839560 1015 * @{
AnnaBridge 163:e59c8e839560 1016 * @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).
AnnaBridge 163:e59c8e839560 1017 */
AnnaBridge 163:e59c8e839560 1018 #define LL_HRTIM_CHP_DUTYCYCLE_0 ((uint32_t)0x00000000U) /*!< Only 1st pulse is present */
AnnaBridge 163:e59c8e839560 1019 #define LL_HRTIM_CHP_DUTYCYCLE_125 (HRTIM_CHPR_CARDTY_0) /*!< Duty cycle of the carrier signal is 12.5 % */
AnnaBridge 163:e59c8e839560 1020 #define LL_HRTIM_CHP_DUTYCYCLE_250 (HRTIM_CHPR_CARDTY_1) /*!< Duty cycle of the carrier signal is 25 % */
AnnaBridge 163:e59c8e839560 1021 #define LL_HRTIM_CHP_DUTYCYCLE_375 (HRTIM_CHPR_CARDTY_1 | HRTIM_CHPR_CARDTY_0) /*!< Duty cycle of the carrier signal is 37.5 % */
AnnaBridge 163:e59c8e839560 1022 #define LL_HRTIM_CHP_DUTYCYCLE_500 (HRTIM_CHPR_CARDTY_2) /*!< Duty cycle of the carrier signal is 50 % */
AnnaBridge 163:e59c8e839560 1023 #define LL_HRTIM_CHP_DUTYCYCLE_625 (HRTIM_CHPR_CARDTY_2 | HRTIM_CHPR_CARDTY_0) /*!< Duty cycle of the carrier signal is 62.5 % */
AnnaBridge 163:e59c8e839560 1024 #define LL_HRTIM_CHP_DUTYCYCLE_750 (HRTIM_CHPR_CARDTY_2 | HRTIM_CHPR_CARDTY_1) /*!< Duty cycle of the carrier signal is 75 % */
AnnaBridge 163:e59c8e839560 1025 #define LL_HRTIM_CHP_DUTYCYCLE_875 (HRTIM_CHPR_CARDTY_2 | HRTIM_CHPR_CARDTY_1 | HRTIM_CHPR_CARDTY_0) /*!< Duty cycle of the carrier signal is 87.5 % */
AnnaBridge 163:e59c8e839560 1026 /**
AnnaBridge 163:e59c8e839560 1027 * @}
AnnaBridge 163:e59c8e839560 1028 */
AnnaBridge 163:e59c8e839560 1029
AnnaBridge 163:e59c8e839560 1030 /** @defgroup HRTIM_EC_CHP_PULSEWIDTH CHOPPER MODE PULSE WIDTH
AnnaBridge 163:e59c8e839560 1031 * @{
AnnaBridge 163:e59c8e839560 1032 * @brief Constants defining the pulse width of the first pulse of the generated high frequency carrier.
AnnaBridge 163:e59c8e839560 1033 */
AnnaBridge 163:e59c8e839560 1034 #define LL_HRTIM_CHP_PULSEWIDTH_16 ((uint32_t)0x00000000U) /*!< tSTPW = tHRTIM x 16 */
AnnaBridge 163:e59c8e839560 1035 #define LL_HRTIM_CHP_PULSEWIDTH_32 (HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 32 */
AnnaBridge 163:e59c8e839560 1036 #define LL_HRTIM_CHP_PULSEWIDTH_48 (HRTIM_CHPR_STRPW_1) /*!< tSTPW = tHRTIM x 48 */
AnnaBridge 163:e59c8e839560 1037 #define LL_HRTIM_CHP_PULSEWIDTH_64 (HRTIM_CHPR_STRPW_1 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 64 */
AnnaBridge 163:e59c8e839560 1038 #define LL_HRTIM_CHP_PULSEWIDTH_80 (HRTIM_CHPR_STRPW_2) /*!< tSTPW = tHRTIM x 80 */
AnnaBridge 163:e59c8e839560 1039 #define LL_HRTIM_CHP_PULSEWIDTH_96 (HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 96 */
AnnaBridge 163:e59c8e839560 1040 #define LL_HRTIM_CHP_PULSEWIDTH_112 (HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_1) /*!< tSTPW = tHRTIM x 112 */
AnnaBridge 163:e59c8e839560 1041 #define LL_HRTIM_CHP_PULSEWIDTH_128 (HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_1 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 128 */
AnnaBridge 163:e59c8e839560 1042 #define LL_HRTIM_CHP_PULSEWIDTH_144 (HRTIM_CHPR_STRPW_3) /*!< tSTPW = tHRTIM x 144 */
AnnaBridge 163:e59c8e839560 1043 #define LL_HRTIM_CHP_PULSEWIDTH_160 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 160 */
AnnaBridge 163:e59c8e839560 1044 #define LL_HRTIM_CHP_PULSEWIDTH_176 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_1) /*!< tSTPW = tHRTIM x 176 */
AnnaBridge 163:e59c8e839560 1045 #define LL_HRTIM_CHP_PULSEWIDTH_192 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_1 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 192 */
AnnaBridge 163:e59c8e839560 1046 #define LL_HRTIM_CHP_PULSEWIDTH_208 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_2) /*!< tSTPW = tHRTIM x 208 */
AnnaBridge 163:e59c8e839560 1047 #define LL_HRTIM_CHP_PULSEWIDTH_224 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 224 */
AnnaBridge 163:e59c8e839560 1048 #define LL_HRTIM_CHP_PULSEWIDTH_240 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_1) /*!< tSTPW = tHRTIM x 240 */
AnnaBridge 163:e59c8e839560 1049 #define LL_HRTIM_CHP_PULSEWIDTH_256 (HRTIM_CHPR_STRPW_3 | HRTIM_CHPR_STRPW_2 | HRTIM_CHPR_STRPW_1 | HRTIM_CHPR_STRPW_0) /*!< tSTPW = tHRTIM x 256 */
AnnaBridge 163:e59c8e839560 1050 /**
AnnaBridge 163:e59c8e839560 1051 * @}
AnnaBridge 163:e59c8e839560 1052 */
AnnaBridge 163:e59c8e839560 1053
AnnaBridge 163:e59c8e839560 1054 /** @defgroup HRTIM_EC_CROSSBAR_INPUT CROSSBAR INPUT
AnnaBridge 163:e59c8e839560 1055 * @{
AnnaBridge 163:e59c8e839560 1056 * @brief Constants defining the events that can be selected to configure the set/reset crossbar of a timer output.
AnnaBridge 163:e59c8e839560 1057 */
AnnaBridge 163:e59c8e839560 1058 #define LL_HRTIM_CROSSBAR_NONE ((uint32_t)0x00000000U) /*!< Reset the output set crossbar */
AnnaBridge 163:e59c8e839560 1059 #define LL_HRTIM_CROSSBAR_RESYNC (HRTIM_SET1R_RESYNC) /*!< Timer reset event coming solely from software or SYNC input forces an output level transision */
AnnaBridge 163:e59c8e839560 1060 #define LL_HRTIM_CROSSBAR_TIMPER (HRTIM_SET1R_PER) /*!< Timer period event forces an output level transision */
AnnaBridge 163:e59c8e839560 1061 #define LL_HRTIM_CROSSBAR_TIMCMP1 (HRTIM_SET1R_CMP1) /*!< Timer compare 1 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1062 #define LL_HRTIM_CROSSBAR_TIMCMP2 (HRTIM_SET1R_CMP2) /*!< Timer compare 2 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1063 #define LL_HRTIM_CROSSBAR_TIMCMP3 (HRTIM_SET1R_CMP3) /*!< Timer compare 3 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1064 #define LL_HRTIM_CROSSBAR_TIMCMP4 (HRTIM_SET1R_CMP4) /*!< Timer compare 4 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1065 #define LL_HRTIM_CROSSBAR_MASTERPER (HRTIM_SET1R_MSTPER) /*!< The master timer period event forces an output level transision */
AnnaBridge 163:e59c8e839560 1066 #define LL_HRTIM_CROSSBAR_MASTERCMP1 (HRTIM_SET1R_MSTCMP1) /*!< Master Timer compare 1 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1067 #define LL_HRTIM_CROSSBAR_MASTERCMP2 (HRTIM_SET1R_MSTCMP2) /*!< Master Timer compare 2 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1068 #define LL_HRTIM_CROSSBAR_MASTERCMP3 (HRTIM_SET1R_MSTCMP3) /*!< Master Timer compare 3 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1069 #define LL_HRTIM_CROSSBAR_MASTERCMP4 (HRTIM_SET1R_MSTCMP4) /*!< Master Timer compare 4 event forces an output level transision */
AnnaBridge 163:e59c8e839560 1070 #define LL_HRTIM_CROSSBAR_TIMEV_1 (HRTIM_SET1R_TIMEVNT1) /*!< Timer event 1 forces an output level transision */
AnnaBridge 163:e59c8e839560 1071 #define LL_HRTIM_CROSSBAR_TIMEV_2 (HRTIM_SET1R_TIMEVNT2) /*!< Timer event 2 forces an output level transision */
AnnaBridge 163:e59c8e839560 1072 #define LL_HRTIM_CROSSBAR_TIMEV_3 (HRTIM_SET1R_TIMEVNT3) /*!< Timer event 3 forces an output level transision */
AnnaBridge 163:e59c8e839560 1073 #define LL_HRTIM_CROSSBAR_TIMEV_4 (HRTIM_SET1R_TIMEVNT4) /*!< Timer event 4 forces an output level transision */
AnnaBridge 163:e59c8e839560 1074 #define LL_HRTIM_CROSSBAR_TIMEV_5 (HRTIM_SET1R_TIMEVNT5) /*!< Timer event 5 forces an output level transision */
AnnaBridge 163:e59c8e839560 1075 #define LL_HRTIM_CROSSBAR_TIMEV_6 (HRTIM_SET1R_TIMEVNT6) /*!< Timer event 6 forces an output level transision */
AnnaBridge 163:e59c8e839560 1076 #define LL_HRTIM_CROSSBAR_TIMEV_7 (HRTIM_SET1R_TIMEVNT7) /*!< Timer event 7 forces an output level transision */
AnnaBridge 163:e59c8e839560 1077 #define LL_HRTIM_CROSSBAR_TIMEV_8 (HRTIM_SET1R_TIMEVNT8) /*!< Timer event 8 forces an output level transision */
AnnaBridge 163:e59c8e839560 1078 #define LL_HRTIM_CROSSBAR_TIMEV_9 (HRTIM_SET1R_TIMEVNT9) /*!< Timer event 9 forces an output level transision */
AnnaBridge 163:e59c8e839560 1079 #define LL_HRTIM_CROSSBAR_EEV_1 (HRTIM_SET1R_EXTVNT1) /*!< External event 1 forces an output level transision */
AnnaBridge 163:e59c8e839560 1080 #define LL_HRTIM_CROSSBAR_EEV_2 (HRTIM_SET1R_EXTVNT2) /*!< External event 2 forces an output level transision */
AnnaBridge 163:e59c8e839560 1081 #define LL_HRTIM_CROSSBAR_EEV_3 (HRTIM_SET1R_EXTVNT3) /*!< External event 3 forces an output level transision */
AnnaBridge 163:e59c8e839560 1082 #define LL_HRTIM_CROSSBAR_EEV_4 (HRTIM_SET1R_EXTVNT4) /*!< External event 4 forces an output level transision */
AnnaBridge 163:e59c8e839560 1083 #define LL_HRTIM_CROSSBAR_EEV_5 (HRTIM_SET1R_EXTVNT5) /*!< External event 5 forces an output level transision */
AnnaBridge 163:e59c8e839560 1084 #define LL_HRTIM_CROSSBAR_EEV_6 (HRTIM_SET1R_EXTVNT6) /*!< External event 6 forces an output level transision */
AnnaBridge 163:e59c8e839560 1085 #define LL_HRTIM_CROSSBAR_EEV_7 (HRTIM_SET1R_EXTVNT7) /*!< External event 7 forces an output level transision */
AnnaBridge 163:e59c8e839560 1086 #define LL_HRTIM_CROSSBAR_EEV_8 (HRTIM_SET1R_EXTVNT8) /*!< External event 8 forces an output level transision */
AnnaBridge 163:e59c8e839560 1087 #define LL_HRTIM_CROSSBAR_EEV_9 (HRTIM_SET1R_EXTVNT9) /*!< External event 9 forces an output level transision */
AnnaBridge 163:e59c8e839560 1088 #define LL_HRTIM_CROSSBAR_EEV_10 (HRTIM_SET1R_EXTVNT10) /*!< External event 10 forces an output level transision */
AnnaBridge 163:e59c8e839560 1089 #define LL_HRTIM_CROSSBAR_UPDATE (HRTIM_SET1R_UPDATE) /*!< Timer register update event forces an output level transision */
AnnaBridge 163:e59c8e839560 1090 /**
AnnaBridge 163:e59c8e839560 1091 * @}
AnnaBridge 163:e59c8e839560 1092 */
AnnaBridge 163:e59c8e839560 1093
AnnaBridge 163:e59c8e839560 1094 /** @defgroup HRTIM_EC_OUT_POLARITY OUPUT_POLARITY
AnnaBridge 163:e59c8e839560 1095 * @{
AnnaBridge 163:e59c8e839560 1096 * @brief Constants defining the polarity of a timer output.
AnnaBridge 163:e59c8e839560 1097 */
AnnaBridge 163:e59c8e839560 1098 #define LL_HRTIM_OUT_POSITIVE_POLARITY ((uint32_t)0x00000000U) /*!< Output is acitve HIGH */
AnnaBridge 163:e59c8e839560 1099 #define LL_HRTIM_OUT_NEGATIVE_POLARITY (HRTIM_OUTR_POL1) /*!< Output is active LOW */
AnnaBridge 163:e59c8e839560 1100 /**
AnnaBridge 163:e59c8e839560 1101 * @}
AnnaBridge 163:e59c8e839560 1102 */
AnnaBridge 163:e59c8e839560 1103
AnnaBridge 163:e59c8e839560 1104 /** @defgroup HRTIM_EC_OUT_IDLEMODE OUTPUT IDLE MODE
AnnaBridge 163:e59c8e839560 1105 * @{
AnnaBridge 163:e59c8e839560 1106 * @brief Constants defining whether or not the timer output transition to its IDLE state when burst mode is entered.
AnnaBridge 163:e59c8e839560 1107 */
AnnaBridge 163:e59c8e839560 1108 #define LL_HRTIM_OUT_NO_IDLE ((uint32_t)0x00000000U)/*!< The output is not affected by the burst mode operation */
AnnaBridge 163:e59c8e839560 1109 #define LL_HRTIM_OUT_IDLE_WHEN_BURST (HRTIM_OUTR_IDLM1) /*!< The output is in idle state when requested by the burst mode controller */
AnnaBridge 163:e59c8e839560 1110 /**
AnnaBridge 163:e59c8e839560 1111 * @}
AnnaBridge 163:e59c8e839560 1112 */
AnnaBridge 163:e59c8e839560 1113
AnnaBridge 163:e59c8e839560 1114 /** @defgroup HRTIM_EC_OUT_IDLELEVEL OUTPUT IDLE LEVEL
AnnaBridge 163:e59c8e839560 1115 * @{
AnnaBridge 163:e59c8e839560 1116 * @brief Constants defining the output level when output is in IDLE state
AnnaBridge 163:e59c8e839560 1117 */
AnnaBridge 163:e59c8e839560 1118 #define LL_HRTIM_OUT_IDLELEVEL_INACTIVE ((uint32_t)0x00000000U)/*!< Output at inactive level when in IDLE state */
AnnaBridge 163:e59c8e839560 1119 #define LL_HRTIM_OUT_IDLELEVEL_ACTIVE (HRTIM_OUTR_IDLES1) /*!< Output at active level when in IDLE state */
AnnaBridge 163:e59c8e839560 1120 /**
AnnaBridge 163:e59c8e839560 1121 * @}
AnnaBridge 163:e59c8e839560 1122 */
AnnaBridge 163:e59c8e839560 1123
AnnaBridge 163:e59c8e839560 1124 /** @defgroup HRTIM_EC_OUT_FAULTSTATE OUTPUT FAULT STATE
AnnaBridge 163:e59c8e839560 1125 * @{
AnnaBridge 163:e59c8e839560 1126 * @brief Constants defining the output level when output is in FAULT state.
AnnaBridge 163:e59c8e839560 1127 */
AnnaBridge 163:e59c8e839560 1128 #define LL_HRTIM_OUT_FAULTSTATE_NO_ACTION ((uint32_t)0x00000000U) /*!< The output is not affected by the fault input */
AnnaBridge 163:e59c8e839560 1129 #define LL_HRTIM_OUT_FAULTSTATE_ACTIVE (HRTIM_OUTR_FAULT1_0) /*!< Output at active level when in FAULT state */
AnnaBridge 163:e59c8e839560 1130 #define LL_HRTIM_OUT_FAULTSTATE_INACTIVE (HRTIM_OUTR_FAULT1_1) /*!< Output at inactive level when in FAULT state */
AnnaBridge 163:e59c8e839560 1131 #define LL_HRTIM_OUT_FAULTSTATE_HIGHZ (HRTIM_OUTR_FAULT1_1 | HRTIM_OUTR_FAULT1_0) /*!< Output is tri-stated when in FAULT state */
AnnaBridge 163:e59c8e839560 1132 /**
AnnaBridge 163:e59c8e839560 1133 * @}
AnnaBridge 163:e59c8e839560 1134 */
AnnaBridge 163:e59c8e839560 1135
AnnaBridge 163:e59c8e839560 1136 /** @defgroup HRTIM_EC_OUT_CHOPPERMODE OUTPUT CHOPPER MODE
AnnaBridge 163:e59c8e839560 1137 * @{
AnnaBridge 163:e59c8e839560 1138 * @brief Constants defining whether or not chopper mode is enabled for a timer output.
AnnaBridge 163:e59c8e839560 1139 */
AnnaBridge 163:e59c8e839560 1140 #define LL_HRTIM_OUT_CHOPPERMODE_DISABLED ((uint32_t)0x00000000U) /*!< Output signal is not altered */
AnnaBridge 163:e59c8e839560 1141 #define LL_HRTIM_OUT_CHOPPERMODE_ENABLED (HRTIM_OUTR_CHP1) /*!< Output signal is chopped by a carrier signal */
AnnaBridge 163:e59c8e839560 1142 /**
AnnaBridge 163:e59c8e839560 1143 * @}
AnnaBridge 163:e59c8e839560 1144 */
AnnaBridge 163:e59c8e839560 1145
AnnaBridge 163:e59c8e839560 1146 /** @defgroup HRTIM_EC_OUT_BM_ENTRYMODE OUTPUT BURST MODE ENTRY MODE
AnnaBridge 163:e59c8e839560 1147 * @{
AnnaBridge 163:e59c8e839560 1148 * @brief Constants defining the idle state entry mode during a burst mode operation. It is possible to delay the burst mode entry and force the output to an inactive state
AnnaBridge 163:e59c8e839560 1149 during a programmable period before the output takes its idle state.
AnnaBridge 163:e59c8e839560 1150 */
AnnaBridge 163:e59c8e839560 1151 #define LL_HRTIM_OUT_BM_ENTRYMODE_REGULAR ((uint32_t)0x00000000U)/*!< The programmed Idle state is applied immediately to the Output */
AnnaBridge 163:e59c8e839560 1152 #define LL_HRTIM_OUT_BM_ENTRYMODE_DELAYED (HRTIM_OUTR_DIDL1) /*!< Deadtime is inserted on output before entering the idle mode */
AnnaBridge 163:e59c8e839560 1153 /**
AnnaBridge 163:e59c8e839560 1154 * @}
AnnaBridge 163:e59c8e839560 1155 */
AnnaBridge 163:e59c8e839560 1156 /** @defgroup HRTIM_EC_OUT_LEVEL OUTPUT LEVEL
AnnaBridge 163:e59c8e839560 1157 * @{
AnnaBridge 163:e59c8e839560 1158 * @brief Constants defining the level of a timer output.
AnnaBridge 163:e59c8e839560 1159 */
AnnaBridge 163:e59c8e839560 1160 #define LL_HRTIM_OUT_LEVEL_INACTIVE ((uint32_t)0x00000000U)/*!< Corresponds to a logic level 0 for a positive polarity (High) and to a logic level 1 for a negative polarity (Low) */
AnnaBridge 163:e59c8e839560 1161 #define LL_HRTIM_OUT_LEVEL_ACTIVE ((uint32_t)0x00000001) /*!< Corresponds to a logic level 1 for a positive polarity (High) and to a logic level 0 for a negative polarity (Low) */
AnnaBridge 163:e59c8e839560 1162 /**
AnnaBridge 163:e59c8e839560 1163 * @}
AnnaBridge 163:e59c8e839560 1164 */
AnnaBridge 163:e59c8e839560 1165
AnnaBridge 163:e59c8e839560 1166 /** @defgroup HRTIM_EC_EE_SRC EXTERNAL EVENT SOURCE
AnnaBridge 163:e59c8e839560 1167 * @{
AnnaBridge 163:e59c8e839560 1168 * @brief Constants defining available sources associated to external events.
AnnaBridge 163:e59c8e839560 1169 */
AnnaBridge 163:e59c8e839560 1170 #define LL_HRTIM_EE_SRC_1 ((uint32_t)0x00000000U) /*!< External event source 1 (EExSrc1)*/
AnnaBridge 163:e59c8e839560 1171 #define LL_HRTIM_EE_SRC_2 (HRTIM_EECR1_EE1SRC_0) /*!< External event source 2 (EExSrc2) */
AnnaBridge 163:e59c8e839560 1172 #define LL_HRTIM_EE_SRC_3 (HRTIM_EECR1_EE1SRC_1) /*!< External event source 3 (EExSrc3) */
AnnaBridge 163:e59c8e839560 1173 #define LL_HRTIM_EE_SRC_4 (HRTIM_EECR1_EE1SRC_1 | HRTIM_EECR1_EE1SRC_0) /*!< External event source 4 (EExSrc4) */
AnnaBridge 163:e59c8e839560 1174 /**
AnnaBridge 163:e59c8e839560 1175 * @}
AnnaBridge 163:e59c8e839560 1176 */
AnnaBridge 163:e59c8e839560 1177 /** @defgroup HRTIM_EC_EE_POLARITY EXTERNAL EVENT POLARITY
AnnaBridge 163:e59c8e839560 1178 * @{
AnnaBridge 163:e59c8e839560 1179 * @brief Constants defining the polarity of an external event.
AnnaBridge 163:e59c8e839560 1180 */
AnnaBridge 163:e59c8e839560 1181 #define LL_HRTIM_EE_POLARITY_HIGH ((uint32_t)0x00000000U) /*!< External event is active high */
AnnaBridge 163:e59c8e839560 1182 #define LL_HRTIM_EE_POLARITY_LOW (HRTIM_EECR1_EE1POL) /*!< External event is active low */
AnnaBridge 163:e59c8e839560 1183 /**
AnnaBridge 163:e59c8e839560 1184 * @}
AnnaBridge 163:e59c8e839560 1185 */
AnnaBridge 163:e59c8e839560 1186
AnnaBridge 163:e59c8e839560 1187 /** @defgroup HRTIM_EC_EE_SENSITIVITY EXTERNAL EVENT SENSITIVITY
AnnaBridge 163:e59c8e839560 1188 * @{
AnnaBridge 163:e59c8e839560 1189 * @brief Constants defining the sensitivity (level-sensitive or edge-sensitive) of an external event.
AnnaBridge 163:e59c8e839560 1190 */
AnnaBridge 163:e59c8e839560 1191 #define LL_HRTIM_EE_SENSITIVITY_LEVEL ((uint32_t)0x00000000U) /*!< External event is active on level */
AnnaBridge 163:e59c8e839560 1192 #define LL_HRTIM_EE_SENSITIVITY_RISINGEDGE (HRTIM_EECR1_EE1SNS_0) /*!< External event is active on Rising edge */
AnnaBridge 163:e59c8e839560 1193 #define LL_HRTIM_EE_SENSITIVITY_FALLINGEDGE (HRTIM_EECR1_EE1SNS_1) /*!< External event is active on Falling edge */
AnnaBridge 163:e59c8e839560 1194 #define LL_HRTIM_EE_SENSITIVITY_BOTHEDGES (HRTIM_EECR1_EE1SNS_1 | HRTIM_EECR1_EE1SNS_0) /*!< External event is active on Rising and Falling edges */
AnnaBridge 163:e59c8e839560 1195 /**
AnnaBridge 163:e59c8e839560 1196 * @}
AnnaBridge 163:e59c8e839560 1197 */
AnnaBridge 163:e59c8e839560 1198
AnnaBridge 163:e59c8e839560 1199 /** @defgroup HRTIM_EC_EE_FASTMODE EXTERNAL EVENT FAST MODE
AnnaBridge 163:e59c8e839560 1200 * @{
AnnaBridge 163:e59c8e839560 1201 * @brief Constants defining whether or not an external event is programmed in fast mode.
AnnaBridge 163:e59c8e839560 1202 */
AnnaBridge 163:e59c8e839560 1203 #define LL_HRTIM_EE_FASTMODE_DISABLE ((uint32_t)0x00000000U) /*!< External Event is re-synchronized by the HRTIM logic before acting on outputs */
AnnaBridge 163:e59c8e839560 1204 #define LL_HRTIM_EE_FASTMODE_ENABLE (HRTIM_EECR1_EE1FAST) /*!< External Event is acting asynchronously on outputs (low latency mode) */
AnnaBridge 163:e59c8e839560 1205 /**
AnnaBridge 163:e59c8e839560 1206 * @}
AnnaBridge 163:e59c8e839560 1207 */
AnnaBridge 163:e59c8e839560 1208
AnnaBridge 163:e59c8e839560 1209 /** @defgroup HRTIM_EC_EE_FILTER EXTERNAL EVENT DIGITAL FILTER
AnnaBridge 163:e59c8e839560 1210 * @{
AnnaBridge 163:e59c8e839560 1211 * @brief Constants defining the frequency used to sample an external event input (fSAMPLING) and the length (N) of the digital filter applied.
AnnaBridge 163:e59c8e839560 1212 */
AnnaBridge 163:e59c8e839560 1213 #define LL_HRTIM_EE_FILTER_NONE ((uint32_t)0x00000000U) /*!< Filter disabled */
AnnaBridge 163:e59c8e839560 1214 #define LL_HRTIM_EE_FILTER_1 (HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fHRTIM, N=2 */
AnnaBridge 163:e59c8e839560 1215 #define LL_HRTIM_EE_FILTER_2 (HRTIM_EECR3_EE6F_1) /*!< fSAMPLING = fHRTIM, N=4 */
AnnaBridge 163:e59c8e839560 1216 #define LL_HRTIM_EE_FILTER_3 (HRTIM_EECR3_EE6F_1 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fHRTIM, N=8 */
AnnaBridge 163:e59c8e839560 1217 #define LL_HRTIM_EE_FILTER_4 (HRTIM_EECR3_EE6F_2) /*!< fSAMPLING = fEEVS/2, N=6 */
AnnaBridge 163:e59c8e839560 1218 #define LL_HRTIM_EE_FILTER_5 (HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/2, N=8 */
AnnaBridge 163:e59c8e839560 1219 #define LL_HRTIM_EE_FILTER_6 (HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_1) /*!< fSAMPLING = fEEVS/4, N=6 */
AnnaBridge 163:e59c8e839560 1220 #define LL_HRTIM_EE_FILTER_7 (HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_1 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/4, N=8 */
AnnaBridge 163:e59c8e839560 1221 #define LL_HRTIM_EE_FILTER_8 (HRTIM_EECR3_EE6F_3) /*!< fSAMPLING = fEEVS/8, N=6 */
AnnaBridge 163:e59c8e839560 1222 #define LL_HRTIM_EE_FILTER_9 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/8, N=8 */
AnnaBridge 163:e59c8e839560 1223 #define LL_HRTIM_EE_FILTER_10 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_1) /*!< fSAMPLING = fEEVS/16, N=5 */
AnnaBridge 163:e59c8e839560 1224 #define LL_HRTIM_EE_FILTER_11 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_1 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/16, N=6 */
AnnaBridge 163:e59c8e839560 1225 #define LL_HRTIM_EE_FILTER_12 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_2) /*!< fSAMPLING = fEEVS/16, N=8 */
AnnaBridge 163:e59c8e839560 1226 #define LL_HRTIM_EE_FILTER_13 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/32, N=5 */
AnnaBridge 163:e59c8e839560 1227 #define LL_HRTIM_EE_FILTER_14 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_1) /*!< fSAMPLING = fEEVS/32, N=6 */
AnnaBridge 163:e59c8e839560 1228 #define LL_HRTIM_EE_FILTER_15 (HRTIM_EECR3_EE6F_3 | HRTIM_EECR3_EE6F_2 | HRTIM_EECR3_EE6F_1 | HRTIM_EECR3_EE6F_0) /*!< fSAMPLING = fEEVS/32, N=8 */
AnnaBridge 163:e59c8e839560 1229 /**
AnnaBridge 163:e59c8e839560 1230 * @}
AnnaBridge 163:e59c8e839560 1231 */
AnnaBridge 163:e59c8e839560 1232
AnnaBridge 163:e59c8e839560 1233 /** @defgroup HRTIM_EC_EE_PRESCALER EXTERNAL EVENT PRESCALER
AnnaBridge 163:e59c8e839560 1234 * @{
AnnaBridge 163:e59c8e839560 1235 * @brief Constants defining division ratio between the timer clock frequency (fHRTIM) and the external event signal sampling clock (fEEVS) used by the digital filters.
AnnaBridge 163:e59c8e839560 1236 */
AnnaBridge 163:e59c8e839560 1237 #define LL_HRTIM_EE_PRESCALER_DIV1 ((uint32_t)0x00000000U) /*!< fEEVS = fHRTIM */
AnnaBridge 163:e59c8e839560 1238 #define LL_HRTIM_EE_PRESCALER_DIV2 (HRTIM_EECR3_EEVSD_0) /*!< fEEVS = fHRTIM / 2 */
AnnaBridge 163:e59c8e839560 1239 #define LL_HRTIM_EE_PRESCALER_DIV4 (HRTIM_EECR3_EEVSD_1) /*!< fEEVS = fHRTIM / 4 */
AnnaBridge 163:e59c8e839560 1240 #define LL_HRTIM_EE_PRESCALER_DIV8 (HRTIM_EECR3_EEVSD_1 | HRTIM_EECR3_EEVSD_0) /*!< fEEVS = fHRTIM / 8 */
AnnaBridge 163:e59c8e839560 1241 /**
AnnaBridge 163:e59c8e839560 1242 * @}
AnnaBridge 163:e59c8e839560 1243 */
AnnaBridge 163:e59c8e839560 1244
AnnaBridge 163:e59c8e839560 1245 /** @defgroup HRTIM_EC_FLT_SRC FAULT SOURCE
AnnaBridge 163:e59c8e839560 1246 * @{
AnnaBridge 163:e59c8e839560 1247 * @brief Constants defining whether a faults is be triggered by any external or internal fault source.
AnnaBridge 163:e59c8e839560 1248 */
AnnaBridge 163:e59c8e839560 1249 #define LL_HRTIM_FLT_SRC_DIGITALINPUT ((uint32_t)0x00000000U) /*!< Fault input is FLT input pin */
AnnaBridge 163:e59c8e839560 1250 #define LL_HRTIM_FLT_SRC_INTERNAL (HRTIM_FLTINR1_FLT1SRC) /*!< Fault input is FLT_Int signal (e.g. internal comparator) */
AnnaBridge 163:e59c8e839560 1251 /**
AnnaBridge 163:e59c8e839560 1252 * @}
AnnaBridge 163:e59c8e839560 1253 */
AnnaBridge 163:e59c8e839560 1254
AnnaBridge 163:e59c8e839560 1255 /** @defgroup HRTIM_EC_FLT_POLARITY FAULT POLARITY
AnnaBridge 163:e59c8e839560 1256 * @{
AnnaBridge 163:e59c8e839560 1257 * @brief Constants defining the polarity of a fault event.
AnnaBridge 163:e59c8e839560 1258 */
AnnaBridge 163:e59c8e839560 1259 #define LL_HRTIM_FLT_POLARITY_LOW ((uint32_t)0x00000000U) /*!< Fault input is active low */
AnnaBridge 163:e59c8e839560 1260 #define LL_HRTIM_FLT_POLARITY_HIGH (HRTIM_FLTINR1_FLT1P) /*!< Fault input is active high */
AnnaBridge 163:e59c8e839560 1261 /**
AnnaBridge 163:e59c8e839560 1262 * @}
AnnaBridge 163:e59c8e839560 1263 */
AnnaBridge 163:e59c8e839560 1264
AnnaBridge 163:e59c8e839560 1265 /** @defgroup HRTIM_EC_FLT_FILTER FAULT DIGITAL FILTER
AnnaBridge 163:e59c8e839560 1266 * @{
AnnaBridge 163:e59c8e839560 1267 * @brief Constants defining the frequency used to sample the fault input (fSAMPLING) and the length (N) of the digital filter applied.
AnnaBridge 163:e59c8e839560 1268 */
AnnaBridge 163:e59c8e839560 1269 #define LL_HRTIM_FLT_FILTER_NONE ((uint32_t)0x00000000U) /*!< Filter disabled */
AnnaBridge 163:e59c8e839560 1270 #define LL_HRTIM_FLT_FILTER_1 (HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fHRTIM, N=2 */
AnnaBridge 163:e59c8e839560 1271 #define LL_HRTIM_FLT_FILTER_2 (HRTIM_FLTINR1_FLT1F_1) /*!< fSAMPLING= fHRTIM, N=4 */
AnnaBridge 163:e59c8e839560 1272 #define LL_HRTIM_FLT_FILTER_3 (HRTIM_FLTINR1_FLT1F_1 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fHRTIM, N=8 */
AnnaBridge 163:e59c8e839560 1273 #define LL_HRTIM_FLT_FILTER_4 (HRTIM_FLTINR1_FLT1F_2) /*!< fSAMPLING= fFLTS/2, N=6 */
AnnaBridge 163:e59c8e839560 1274 #define LL_HRTIM_FLT_FILTER_5 (HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/2, N=8 */
AnnaBridge 163:e59c8e839560 1275 #define LL_HRTIM_FLT_FILTER_6 (HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_1) /*!< fSAMPLING= fFLTS/4, N=6 */
AnnaBridge 163:e59c8e839560 1276 #define LL_HRTIM_FLT_FILTER_7 (HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_1 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/4, N=8 */
AnnaBridge 163:e59c8e839560 1277 #define LL_HRTIM_FLT_FILTER_8 (HRTIM_FLTINR1_FLT1F_3) /*!< fSAMPLING= fFLTS/8, N=6 */
AnnaBridge 163:e59c8e839560 1278 #define LL_HRTIM_FLT_FILTER_9 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/8, N=8 */
AnnaBridge 163:e59c8e839560 1279 #define LL_HRTIM_FLT_FILTER_10 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_1) /*!< fSAMPLING= fFLTS/16, N=5 */
AnnaBridge 163:e59c8e839560 1280 #define LL_HRTIM_FLT_FILTER_11 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_1 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/16, N=6 */
AnnaBridge 163:e59c8e839560 1281 #define LL_HRTIM_FLT_FILTER_12 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_2) /*!< fSAMPLING= fFLTS/16, N=8 */
AnnaBridge 163:e59c8e839560 1282 #define LL_HRTIM_FLT_FILTER_13 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/32, N=5 */
AnnaBridge 163:e59c8e839560 1283 #define LL_HRTIM_FLT_FILTER_14 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_1) /*!< fSAMPLING= fFLTS/32, N=6 */
AnnaBridge 163:e59c8e839560 1284 #define LL_HRTIM_FLT_FILTER_15 (HRTIM_FLTINR1_FLT1F_3 | HRTIM_FLTINR1_FLT1F_2 | HRTIM_FLTINR1_FLT1F_1 | HRTIM_FLTINR1_FLT1F_0) /*!< fSAMPLING= fFLTS/32, N=8 */
AnnaBridge 163:e59c8e839560 1285 /**
AnnaBridge 163:e59c8e839560 1286 * @}
AnnaBridge 163:e59c8e839560 1287 */
AnnaBridge 163:e59c8e839560 1288
AnnaBridge 163:e59c8e839560 1289 /** @defgroup HRTIM_EC_FLT_PRESCALER BURST FAULT PRESCALER
AnnaBridge 163:e59c8e839560 1290 * @{
AnnaBridge 163:e59c8e839560 1291 * @brief Constants defining the division ratio between the timer clock frequency (fHRTIM) and the fault signal sampling clock (fFLTS) used by the digital filters.
AnnaBridge 163:e59c8e839560 1292 */
AnnaBridge 163:e59c8e839560 1293 #define LL_HRTIM_FLT_PRESCALER_DIV1 ((uint32_t)0x00000000U) /*!< fFLTS = fHRTIM */
AnnaBridge 163:e59c8e839560 1294 #define LL_HRTIM_FLT_PRESCALER_DIV2 (HRTIM_FLTINR2_FLTSD_0) /*!< fFLTS = fHRTIM / 2 */
AnnaBridge 163:e59c8e839560 1295 #define LL_HRTIM_FLT_PRESCALER_DIV4 (HRTIM_FLTINR2_FLTSD_1) /*!< fFLTS = fHRTIM / 4 */
AnnaBridge 163:e59c8e839560 1296 #define LL_HRTIM_FLT_PRESCALER_DIV8 (HRTIM_FLTINR2_FLTSD_1 | HRTIM_FLTINR2_FLTSD_0) /*!< fFLTS = fHRTIM / 8 */
AnnaBridge 163:e59c8e839560 1297 /**
AnnaBridge 163:e59c8e839560 1298 * @}
AnnaBridge 163:e59c8e839560 1299 */
AnnaBridge 163:e59c8e839560 1300
AnnaBridge 163:e59c8e839560 1301 /** @defgroup HRTIM_EC_BM_MODE BURST MODE OPERATING MODE
AnnaBridge 163:e59c8e839560 1302 * @{
AnnaBridge 163:e59c8e839560 1303 * @brief Constants defining if the burst mode is entered once or if it is continuously operating.
AnnaBridge 163:e59c8e839560 1304 */
AnnaBridge 163:e59c8e839560 1305 #define LL_HRTIM_BM_MODE_SINGLESHOT ((uint32_t)0x00000000U) /*!< Burst mode operates in single shot mode */
AnnaBridge 163:e59c8e839560 1306 #define LL_HRTIM_BM_MODE_CONTINOUS (HRTIM_BMCR_BMOM) /*!< Burst mode operates in continuous mode */
AnnaBridge 163:e59c8e839560 1307 /**
AnnaBridge 163:e59c8e839560 1308 * @}
AnnaBridge 163:e59c8e839560 1309 */
AnnaBridge 163:e59c8e839560 1310
AnnaBridge 163:e59c8e839560 1311 /** @defgroup HRTIM_EC_BM_CLKSRC BURST MODE CLOCK SOURCE
AnnaBridge 163:e59c8e839560 1312 * @{
AnnaBridge 163:e59c8e839560 1313 * @brief Constants defining the clock source for the burst mode counter.
AnnaBridge 163:e59c8e839560 1314 */
AnnaBridge 163:e59c8e839560 1315 #define LL_HRTIM_BM_CLKSRC_MASTER ((uint32_t)0x00000000U) /*!< Master timer counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1316 #define LL_HRTIM_BM_CLKSRC_TIMER_A (HRTIM_BMCR_BMCLK_0) /*!< Timer A counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1317 #define LL_HRTIM_BM_CLKSRC_TIMER_B (HRTIM_BMCR_BMCLK_1) /*!< Timer B counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1318 #define LL_HRTIM_BM_CLKSRC_TIMER_C (HRTIM_BMCR_BMCLK_1 | HRTIM_BMCR_BMCLK_0) /*!< Timer C counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1319 #define LL_HRTIM_BM_CLKSRC_TIMER_D (HRTIM_BMCR_BMCLK_2) /*!< Timer D counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1320 #define LL_HRTIM_BM_CLKSRC_TIMER_E (HRTIM_BMCR_BMCLK_2 | HRTIM_BMCR_BMCLK_0) /*!< Timer E counter reset/roll-over is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1321 #define LL_HRTIM_BM_CLKSRC_TIM16_OC (HRTIM_BMCR_BMCLK_2 | HRTIM_BMCR_BMCLK_1) /*!< On-chip Event 1 (BMClk[1]), acting as a burst mode counter clock */
AnnaBridge 163:e59c8e839560 1322 #define LL_HRTIM_BM_CLKSRC_TIM17_OC (HRTIM_BMCR_BMCLK_2 | HRTIM_BMCR_BMCLK_1 | HRTIM_BMCR_BMCLK_0) /*!< On-chip Event 2 (BMClk[2]), acting as a burst mode counter clock */
AnnaBridge 163:e59c8e839560 1323 #define LL_HRTIM_BM_CLKSRC_TIM7_TRGO (HRTIM_BMCR_BMCLK_3) /*!< On-chip Event 3 (BMClk[3]), acting as a burst mode counter clock */
AnnaBridge 163:e59c8e839560 1324 #define LL_HRTIM_BM_CLKSRC_FHRTIM (HRTIM_BMCR_BMCLK_3 | HRTIM_BMCR_BMCLK_1) /*!< Prescaled fHRTIM clock is used as clock source for the burst mode counter */
AnnaBridge 163:e59c8e839560 1325 /**
AnnaBridge 163:e59c8e839560 1326 * @}
AnnaBridge 163:e59c8e839560 1327 */
AnnaBridge 163:e59c8e839560 1328
AnnaBridge 163:e59c8e839560 1329 /** @defgroup HRTIM_EC_BM_PRESCALER BURST MODE PRESCALER
AnnaBridge 163:e59c8e839560 1330 * @{
AnnaBridge 163:e59c8e839560 1331 * @brief Constants defining the prescaling ratio of the fHRTIM clock for the burst mode controller (fBRST).
AnnaBridge 163:e59c8e839560 1332 */
AnnaBridge 163:e59c8e839560 1333 #define LL_HRTIM_BM_PRESCALER_DIV1 ((uint32_t)0x00000000U) /*!< fBRST = fHRTIM */
AnnaBridge 163:e59c8e839560 1334 #define LL_HRTIM_BM_PRESCALER_DIV2 (HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/2 */
AnnaBridge 163:e59c8e839560 1335 #define LL_HRTIM_BM_PRESCALER_DIV4 (HRTIM_BMCR_BMPRSC_1) /*!< fBRST = fHRTIM/4 */
AnnaBridge 163:e59c8e839560 1336 #define LL_HRTIM_BM_PRESCALER_DIV8 (HRTIM_BMCR_BMPRSC_1 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/8 */
AnnaBridge 163:e59c8e839560 1337 #define LL_HRTIM_BM_PRESCALER_DIV16 (HRTIM_BMCR_BMPRSC_2) /*!< fBRST = fHRTIM/16 */
AnnaBridge 163:e59c8e839560 1338 #define LL_HRTIM_BM_PRESCALER_DIV32 (HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/32 */
AnnaBridge 163:e59c8e839560 1339 #define LL_HRTIM_BM_PRESCALER_DIV64 (HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_1) /*!< fBRST = fHRTIM/64 */
AnnaBridge 163:e59c8e839560 1340 #define LL_HRTIM_BM_PRESCALER_DIV128 (HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_1 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/128 */
AnnaBridge 163:e59c8e839560 1341 #define LL_HRTIM_BM_PRESCALER_DIV256 (HRTIM_BMCR_BMPRSC_3) /*!< fBRST = fHRTIM/256 */
AnnaBridge 163:e59c8e839560 1342 #define LL_HRTIM_BM_PRESCALER_DIV512 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/512 */
AnnaBridge 163:e59c8e839560 1343 #define LL_HRTIM_BM_PRESCALER_DIV1024 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_1) /*!< fBRST = fHRTIM/1024 */
AnnaBridge 163:e59c8e839560 1344 #define LL_HRTIM_BM_PRESCALER_DIV2048 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_1 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/2048*/
AnnaBridge 163:e59c8e839560 1345 #define LL_HRTIM_BM_PRESCALER_DIV4096 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_2) /*!< fBRST = fHRTIM/4096 */
AnnaBridge 163:e59c8e839560 1346 #define LL_HRTIM_BM_PRESCALER_DIV8192 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/8192 */
AnnaBridge 163:e59c8e839560 1347 #define LL_HRTIM_BM_PRESCALER_DIV16384 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_1) /*!< fBRST = fHRTIM/16384 */
AnnaBridge 163:e59c8e839560 1348 #define LL_HRTIM_BM_PRESCALER_DIV32768 (HRTIM_BMCR_BMPRSC_3 | HRTIM_BMCR_BMPRSC_2 | HRTIM_BMCR_BMPRSC_1 | HRTIM_BMCR_BMPRSC_0) /*!< fBRST = fHRTIM/32768 */
AnnaBridge 163:e59c8e839560 1349 /**
AnnaBridge 163:e59c8e839560 1350 * @}
AnnaBridge 163:e59c8e839560 1351 */
AnnaBridge 163:e59c8e839560 1352
AnnaBridge 163:e59c8e839560 1353 /** @defgroup HRTIM_EC_BM_TRIG HRTIM BURST MODE TRIGGER
AnnaBridge 163:e59c8e839560 1354 * @{
AnnaBridge 163:e59c8e839560 1355 * @brief Constants defining the events that can be used to trig the burst mode operation.
AnnaBridge 163:e59c8e839560 1356 */
AnnaBridge 163:e59c8e839560 1357 #define LL_HRTIM_BM_TRIG_NONE (uint32_t)0x00000000 /*!< No trigger */
AnnaBridge 163:e59c8e839560 1358 #define LL_HRTIM_BM_TRIG_MASTER_RESET (HRTIM_BMTRGR_MSTRST) /*!< Master timer reset event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1359 #define LL_HRTIM_BM_TRIG_MASTER_REPETITION (HRTIM_BMTRGR_MSTREP) /*!< Master timer repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1360 #define LL_HRTIM_BM_TRIG_MASTER_CMP1 (HRTIM_BMTRGR_MSTCMP1) /*!< Master timer compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1361 #define LL_HRTIM_BM_TRIG_MASTER_CMP2 (HRTIM_BMTRGR_MSTCMP2) /*!< Master timer compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1362 #define LL_HRTIM_BM_TRIG_MASTER_CMP3 (HRTIM_BMTRGR_MSTCMP3) /*!< Master timer compare 3 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1363 #define LL_HRTIM_BM_TRIG_MASTER_CMP4 (HRTIM_BMTRGR_MSTCMP4) /*!< Master timer compare 4 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1364 #define LL_HRTIM_BM_TRIG_TIMA_RESET (HRTIM_BMTRGR_TARST) /*!< Timer A reset event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1365 #define LL_HRTIM_BM_TRIG_TIMA_REPETITION (HRTIM_BMTRGR_TAREP) /*!< Timer A repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1366 #define LL_HRTIM_BM_TRIG_TIMA_CMP1 (HRTIM_BMTRGR_TACMP1) /*!< Timer A compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1367 #define LL_HRTIM_BM_TRIG_TIMA_CMP2 (HRTIM_BMTRGR_TACMP2) /*!< Timer A compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1368 #define LL_HRTIM_BM_TRIG_TIMB_RESET (HRTIM_BMTRGR_TBRST) /*!< Timer B reset event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1369 #define LL_HRTIM_BM_TRIG_TIMB_REPETITION (HRTIM_BMTRGR_TBREP) /*!< Timer B repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1370 #define LL_HRTIM_BM_TRIG_TIMB_CMP1 (HRTIM_BMTRGR_TBCMP1) /*!< Timer B compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1371 #define LL_HRTIM_BM_TRIG_TIMB_CMP2 (HRTIM_BMTRGR_TBCMP2) /*!< Timer B compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1372 #define LL_HRTIM_BM_TRIG_TIMC_RESET (HRTIM_BMTRGR_TCRST) /*!< Timer C resetevent is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1373 #define LL_HRTIM_BM_TRIG_TIMC_REPETITION (HRTIM_BMTRGR_TCREP) /*!< Timer C repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1374 #define LL_HRTIM_BM_TRIG_TIMC_CMP1 (HRTIM_BMTRGR_TCCMP1) /*!< Timer C compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1375 #define LL_HRTIM_BM_TRIG_TIMC_CMP2 (HRTIM_BMTRGR_TCCMP2) /*!< Timer C compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1376 #define LL_HRTIM_BM_TRIG_TIMD_RESET (HRTIM_BMTRGR_TDRST) /*!< Timer D reset event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1377 #define LL_HRTIM_BM_TRIG_TIMD_REPETITION (HRTIM_BMTRGR_TDREP) /*!< Timer D repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1378 #define LL_HRTIM_BM_TRIG_TIMD_CMP1 (HRTIM_BMTRGR_TDCMP1) /*!< Timer D compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1379 #define LL_HRTIM_BM_TRIG_TIMD_CMP2 (HRTIM_BMTRGR_TDCMP2) /*!< Timer D compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1380 #define LL_HRTIM_BM_TRIG_TIME_RESET (HRTIM_BMTRGR_TERST) /*!< Timer E reset event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1381 #define LL_HRTIM_BM_TRIG_TIME_REPETITION (HRTIM_BMTRGR_TEREP) /*!< Timer E repetition event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1382 #define LL_HRTIM_BM_TRIG_TIME_CMP1 (HRTIM_BMTRGR_TECMP1) /*!< Timer E compare 1 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1383 #define LL_HRTIM_BM_TRIG_TIME_CMP2 (HRTIM_BMTRGR_TECMP2) /*!< Timer E compare 2 event is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1384 #define LL_HRTIM_BM_TRIG_TIMA_EVENT7 (HRTIM_BMTRGR_TAEEV7) /*!< Timer A period following an external event 7 (conditioned by TIMA filters) is starting the burst
AnnaBridge 163:e59c8e839560 1385 mode operation */
AnnaBridge 163:e59c8e839560 1386 #define LL_HRTIM_BM_TRIG_TIMD_EVENT8 (HRTIM_BMTRGR_TDEEV8) /*!< Timer D period following an external event 8 (conditioned by TIMD filters) is starting the burst
AnnaBridge 163:e59c8e839560 1387 mode operation */
AnnaBridge 163:e59c8e839560 1388 #define LL_HRTIM_BM_TRIG_EVENT_7 (HRTIM_BMTRGR_EEV7) /*!< External event 7 conditioned by TIMA filters is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1389 #define LL_HRTIM_BM_TRIG_EVENT_8 (HRTIM_BMTRGR_EEV8) /*!< External event 8 conditioned by TIMD filters is starting the burst mode operation */
AnnaBridge 163:e59c8e839560 1390 #define LL_HRTIM_BM_TRIG_EVENT_ONCHIP (HRTIM_BMTRGR_OCHPEV) /*!< A rising edge on an on-chip Event (for instance from GP timer or comparator) triggers the burst mode
AnnaBridge 163:e59c8e839560 1391 operation */
AnnaBridge 163:e59c8e839560 1392 /**
AnnaBridge 163:e59c8e839560 1393 * @}
AnnaBridge 163:e59c8e839560 1394 */
AnnaBridge 163:e59c8e839560 1395
AnnaBridge 163:e59c8e839560 1396 /** @defgroup HRTIM_EC_BM_STATUS HRTIM BURST MODE STATUS
AnnaBridge 163:e59c8e839560 1397 * @{
AnnaBridge 163:e59c8e839560 1398 * @brief Constants defining the operating state of the burst mode controller.
AnnaBridge 163:e59c8e839560 1399 */
AnnaBridge 163:e59c8e839560 1400 #define LL_HRTIM_BM_STATUS_NORMAL ((uint32_t) 0x00000000U) /*!< Normal operation */
AnnaBridge 163:e59c8e839560 1401 #define LL_HRTIM_BM_STATUS_BURST_ONGOING (HRTIM_BMCR_BMSTAT) /*!< Burst operation on-going */
AnnaBridge 163:e59c8e839560 1402 /**
AnnaBridge 163:e59c8e839560 1403 * @}
AnnaBridge 163:e59c8e839560 1404 */
AnnaBridge 163:e59c8e839560 1405
AnnaBridge 163:e59c8e839560 1406 /**
AnnaBridge 163:e59c8e839560 1407 * @}
AnnaBridge 163:e59c8e839560 1408 */
AnnaBridge 163:e59c8e839560 1409
AnnaBridge 163:e59c8e839560 1410 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1411 /** @defgroup HRTIM_LL_Exported_Macros HRTIM Exported Macros
AnnaBridge 163:e59c8e839560 1412 * @{
AnnaBridge 163:e59c8e839560 1413 */
AnnaBridge 163:e59c8e839560 1414
AnnaBridge 163:e59c8e839560 1415 /** @defgroup HRTIM_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 163:e59c8e839560 1416 * @{
AnnaBridge 163:e59c8e839560 1417 */
AnnaBridge 163:e59c8e839560 1418
AnnaBridge 163:e59c8e839560 1419 /**
AnnaBridge 163:e59c8e839560 1420 * @brief Write a value in HRTIM register
AnnaBridge 163:e59c8e839560 1421 * @param __INSTANCE__ HRTIM Instance
AnnaBridge 163:e59c8e839560 1422 * @param __REG__ Register to be written
AnnaBridge 163:e59c8e839560 1423 * @param __VALUE__ Value to be written in the register
AnnaBridge 163:e59c8e839560 1424 * @retval None
AnnaBridge 163:e59c8e839560 1425 */
AnnaBridge 163:e59c8e839560 1426 #define LL_HRTIM_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 163:e59c8e839560 1427
AnnaBridge 163:e59c8e839560 1428 /**
AnnaBridge 163:e59c8e839560 1429 * @brief Read a value in HRTIM register
AnnaBridge 163:e59c8e839560 1430 * @param __INSTANCE__ HRTIM Instance
AnnaBridge 163:e59c8e839560 1431 * @param __REG__ Register to be read
AnnaBridge 163:e59c8e839560 1432 * @retval Register value
AnnaBridge 163:e59c8e839560 1433 */
AnnaBridge 163:e59c8e839560 1434 #define LL_HRTIM_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 163:e59c8e839560 1435 /**
AnnaBridge 163:e59c8e839560 1436 * @}
AnnaBridge 163:e59c8e839560 1437 */
AnnaBridge 163:e59c8e839560 1438
AnnaBridge 163:e59c8e839560 1439 /** @defgroup HRTIM_LL_EM_Exported_Macros Exported_Macros
AnnaBridge 163:e59c8e839560 1440 * @{
AnnaBridge 163:e59c8e839560 1441 */
AnnaBridge 163:e59c8e839560 1442 /**
AnnaBridge 163:e59c8e839560 1443 * @brief HELPER macro returning the output state from output enable/disable status
AnnaBridge 163:e59c8e839560 1444 * @param __OUTPUT_STATUS_EN__ output enable status
AnnaBridge 163:e59c8e839560 1445 * @param __OUTPUT_STATUS_DIS__ output Disable status
AnnaBridge 163:e59c8e839560 1446 * @retval Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1447 * @arg @ref LL_HRTIM_OUTPUTSTATE_IDLE
AnnaBridge 163:e59c8e839560 1448 * @arg @ref LL_HRTIM_OUTPUTSTATE_RUN
AnnaBridge 163:e59c8e839560 1449 * @arg @ref LL_HRTIM_OUTPUTSTATE_FAULT
AnnaBridge 163:e59c8e839560 1450 */
AnnaBridge 163:e59c8e839560 1451 #define __LL_HRTIM_GET_OUTPUT_STATE(__OUTPUT_STATUS_EN__, __OUTPUT_STATUS_DIS__)\
AnnaBridge 163:e59c8e839560 1452 (((__OUTPUT_STATUS_EN__) == 1) ? LL_HRTIM_OUTPUTSTATE_RUN :\
AnnaBridge 163:e59c8e839560 1453 ((__OUTPUT_STATUS_DIS__) == 0) ? LL_HRTIM_OUTPUTSTATE_IDLE : LL_HRTIM_OUTPUTSTATE_FAULT)
AnnaBridge 163:e59c8e839560 1454 /**
AnnaBridge 163:e59c8e839560 1455 * @}
AnnaBridge 163:e59c8e839560 1456 */
AnnaBridge 163:e59c8e839560 1457
AnnaBridge 163:e59c8e839560 1458
AnnaBridge 163:e59c8e839560 1459 /**
AnnaBridge 163:e59c8e839560 1460 * @}
AnnaBridge 163:e59c8e839560 1461 */
AnnaBridge 163:e59c8e839560 1462
AnnaBridge 163:e59c8e839560 1463 /* Exported functions --------------------------------------------------------*/
AnnaBridge 163:e59c8e839560 1464 /** @defgroup HRTIM_LL_Exported_Functions HRTIM Exported Functions
AnnaBridge 163:e59c8e839560 1465 * @{
AnnaBridge 163:e59c8e839560 1466 */
AnnaBridge 163:e59c8e839560 1467 /** @defgroup HRTIM_EF_HRTIM_Control HRTIM_Control
AnnaBridge 163:e59c8e839560 1468 * @{
AnnaBridge 163:e59c8e839560 1469 */
AnnaBridge 163:e59c8e839560 1470
AnnaBridge 163:e59c8e839560 1471 /**
AnnaBridge 163:e59c8e839560 1472 * @brief Select the HRTIM synchronization input source.
AnnaBridge 163:e59c8e839560 1473 * @note This function must not be called when the concerned timer(s) is (are) enabled .
AnnaBridge 163:e59c8e839560 1474 * @rmtoll MCR SYNCIN LL_HRTIM_SetSyncInSrc
AnnaBridge 163:e59c8e839560 1475 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1476 * @param SyncInSrc This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1477 * @arg @ref LL_HRTIM_SYNCIN_SRC_NONE
AnnaBridge 163:e59c8e839560 1478 * @arg @ref LL_HRTIM_SYNCIN_SRC_TIM_EVENT
AnnaBridge 163:e59c8e839560 1479 * @arg @ref LL_HRTIM_SYNCIN_SRC_EXTERNAL_EVENT
AnnaBridge 163:e59c8e839560 1480 * @retval None
AnnaBridge 163:e59c8e839560 1481 */
AnnaBridge 163:e59c8e839560 1482 __STATIC_INLINE void LL_HRTIM_SetSyncInSrc(HRTIM_TypeDef *HRTIMx, uint32_t SyncInSrc)
AnnaBridge 163:e59c8e839560 1483 {
AnnaBridge 163:e59c8e839560 1484 MODIFY_REG(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_IN, SyncInSrc);
AnnaBridge 163:e59c8e839560 1485 }
AnnaBridge 163:e59c8e839560 1486
AnnaBridge 163:e59c8e839560 1487 /**
AnnaBridge 163:e59c8e839560 1488 * @brief Get actual HRTIM synchronization input source.
AnnaBridge 163:e59c8e839560 1489 * @rmtoll MCR SYNCIN LL_HRTIM_SetSyncInSrc
AnnaBridge 163:e59c8e839560 1490 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1491 * @retval SyncInSrc Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1492 * @arg @ref LL_HRTIM_SYNCIN_SRC_NONE
AnnaBridge 163:e59c8e839560 1493 * @arg @ref LL_HRTIM_SYNCIN_SRC_TIM_EVENT
AnnaBridge 163:e59c8e839560 1494 * @arg @ref LL_HRTIM_SYNCIN_SRC_EXTERNAL_EVENT
AnnaBridge 163:e59c8e839560 1495 */
AnnaBridge 163:e59c8e839560 1496 __STATIC_INLINE uint32_t LL_HRTIM_GetSyncInSrc(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 1497 {
AnnaBridge 163:e59c8e839560 1498 return (READ_BIT(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_IN));
AnnaBridge 163:e59c8e839560 1499 }
AnnaBridge 163:e59c8e839560 1500
AnnaBridge 163:e59c8e839560 1501 /**
AnnaBridge 163:e59c8e839560 1502 * @brief Configure the HRTIM synchronization output.
AnnaBridge 163:e59c8e839560 1503 * @rmtoll MCR SYNCSRC LL_HRTIM_ConfigSyncOut\n
AnnaBridge 163:e59c8e839560 1504 * MCR SYNCOUT LL_HRTIM_ConfigSyncOut
AnnaBridge 163:e59c8e839560 1505 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1506 * @param Config This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1507 * @arg @ref LL_HRTIM_SYNCOUT_DISABLED
AnnaBridge 163:e59c8e839560 1508 * @arg @ref LL_HRTIM_SYNCOUT_POSITIVE_PULSE
AnnaBridge 163:e59c8e839560 1509 * @arg @ref LL_HRTIM_SYNCOUT_NEGATIVE_PULSE
AnnaBridge 163:e59c8e839560 1510 * @param Src This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1511 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_START
AnnaBridge 163:e59c8e839560 1512 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_CMP1
AnnaBridge 163:e59c8e839560 1513 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_START
AnnaBridge 163:e59c8e839560 1514 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_CMP1
AnnaBridge 163:e59c8e839560 1515 * @retval None
AnnaBridge 163:e59c8e839560 1516 */
AnnaBridge 163:e59c8e839560 1517 __STATIC_INLINE void LL_HRTIM_ConfigSyncOut(HRTIM_TypeDef *HRTIMx, uint32_t Config, uint32_t Src)
AnnaBridge 163:e59c8e839560 1518 {
AnnaBridge 163:e59c8e839560 1519 MODIFY_REG(HRTIMx->sMasterRegs.MCR, (HRTIM_MCR_SYNC_OUT | HRTIM_MCR_SYNC_SRC), (Config | Src));
AnnaBridge 163:e59c8e839560 1520 }
AnnaBridge 163:e59c8e839560 1521
AnnaBridge 163:e59c8e839560 1522 /**
AnnaBridge 163:e59c8e839560 1523 * @brief Set the routing and conditioning of the synchronization output event.
AnnaBridge 163:e59c8e839560 1524 * @rmtoll MCR SYNCOUT LL_HRTIM_SetSyncOutConfig
AnnaBridge 163:e59c8e839560 1525 * @note This function can be called only when the master timer is enabled.
AnnaBridge 163:e59c8e839560 1526 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1527 * @param SyncOutConfig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1528 * @arg @ref LL_HRTIM_SYNCOUT_DISABLED
AnnaBridge 163:e59c8e839560 1529 * @arg @ref LL_HRTIM_SYNCOUT_POSITIVE_PULSE
AnnaBridge 163:e59c8e839560 1530 * @arg @ref LL_HRTIM_SYNCOUT_NEGATIVE_PULSE
AnnaBridge 163:e59c8e839560 1531 * @retval None
AnnaBridge 163:e59c8e839560 1532 */
AnnaBridge 163:e59c8e839560 1533 __STATIC_INLINE void LL_HRTIM_SetSyncOutConfig(HRTIM_TypeDef *HRTIMx, uint32_t SyncOutConfig)
AnnaBridge 163:e59c8e839560 1534 {
AnnaBridge 163:e59c8e839560 1535 MODIFY_REG(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_OUT, SyncOutConfig);
AnnaBridge 163:e59c8e839560 1536 }
AnnaBridge 163:e59c8e839560 1537
AnnaBridge 163:e59c8e839560 1538 /**
AnnaBridge 163:e59c8e839560 1539 * @brief Get actual routing and conditioning of the synchronization output event.
AnnaBridge 163:e59c8e839560 1540 * @rmtoll MCR SYNCOUT LL_HRTIM_GetSyncOutConfig
AnnaBridge 163:e59c8e839560 1541 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1542 * @retval SyncOutConfig Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1543 * @arg @ref LL_HRTIM_SYNCOUT_DISABLED
AnnaBridge 163:e59c8e839560 1544 * @arg @ref LL_HRTIM_SYNCOUT_POSITIVE_PULSE
AnnaBridge 163:e59c8e839560 1545 * @arg @ref LL_HRTIM_SYNCOUT_NEGATIVE_PULSE
AnnaBridge 163:e59c8e839560 1546 */
AnnaBridge 163:e59c8e839560 1547 __STATIC_INLINE uint32_t LL_HRTIM_GetSyncOutConfig(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 1548 {
AnnaBridge 163:e59c8e839560 1549 return (READ_BIT(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_OUT));
AnnaBridge 163:e59c8e839560 1550 }
AnnaBridge 163:e59c8e839560 1551
AnnaBridge 163:e59c8e839560 1552 /**
AnnaBridge 163:e59c8e839560 1553 * @brief Set the source and event to be sent on the HRTIM synchronization output.
AnnaBridge 163:e59c8e839560 1554 * @rmtoll MCR SYNCSRC LL_HRTIM_SetSyncOutSrc
AnnaBridge 163:e59c8e839560 1555 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1556 * @param SyncOutSrc This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1557 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_START
AnnaBridge 163:e59c8e839560 1558 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_CMP1
AnnaBridge 163:e59c8e839560 1559 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_START
AnnaBridge 163:e59c8e839560 1560 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_CMP1
AnnaBridge 163:e59c8e839560 1561 * @retval None
AnnaBridge 163:e59c8e839560 1562 */
AnnaBridge 163:e59c8e839560 1563 __STATIC_INLINE void LL_HRTIM_SetSyncOutSrc(HRTIM_TypeDef *HRTIMx, uint32_t SyncOutSrc)
AnnaBridge 163:e59c8e839560 1564 {
AnnaBridge 163:e59c8e839560 1565 MODIFY_REG(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_SRC, SyncOutSrc);
AnnaBridge 163:e59c8e839560 1566 }
AnnaBridge 163:e59c8e839560 1567
AnnaBridge 163:e59c8e839560 1568 /**
AnnaBridge 163:e59c8e839560 1569 * @brief Get actual source and event sent on the HRTIM synchronization output.
AnnaBridge 163:e59c8e839560 1570 * @rmtoll MCR SYNCSRC LL_HRTIM_GetSyncOutSrc
AnnaBridge 163:e59c8e839560 1571 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1572 * @retval SyncOutSrc Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 1573 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_START
AnnaBridge 163:e59c8e839560 1574 * @arg @ref LL_HRTIM_SYNCOUT_SRC_MASTER_CMP1
AnnaBridge 163:e59c8e839560 1575 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_START
AnnaBridge 163:e59c8e839560 1576 * @arg @ref LL_HRTIM_SYNCOUT_SRC_TIMA_CMP1
AnnaBridge 163:e59c8e839560 1577 */
AnnaBridge 163:e59c8e839560 1578 __STATIC_INLINE uint32_t LL_HRTIM_GetSyncOutSrc(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 1579 {
AnnaBridge 163:e59c8e839560 1580 return (READ_BIT(HRTIMx->sMasterRegs.MCR, HRTIM_MCR_SYNC_SRC));
AnnaBridge 163:e59c8e839560 1581 }
AnnaBridge 163:e59c8e839560 1582
AnnaBridge 163:e59c8e839560 1583 /**
AnnaBridge 163:e59c8e839560 1584 * @brief Disable (temporarily) update event generation.
AnnaBridge 163:e59c8e839560 1585 * @rmtoll CR1 MUDIS LL_HRTIM_SuspendUpdate\n
AnnaBridge 163:e59c8e839560 1586 * CR1 TAUDIS LL_HRTIM_SuspendUpdate\n
AnnaBridge 163:e59c8e839560 1587 * CR1 TBUDIS LL_HRTIM_SuspendUpdate\n
AnnaBridge 163:e59c8e839560 1588 * CR1 TCUDIS LL_HRTIM_SuspendUpdate\n
AnnaBridge 163:e59c8e839560 1589 * CR1 TDUDIS LL_HRTIM_SuspendUpdate\n
AnnaBridge 163:e59c8e839560 1590 * CR1 TEUDIS LL_HRTIM_SuspendUpdate
AnnaBridge 163:e59c8e839560 1591 * @note Allow to temporarily disable the transfer from preload to active
AnnaBridge 163:e59c8e839560 1592 * registers, whatever the selected update event. This allows to modify
AnnaBridge 163:e59c8e839560 1593 * several registers in multiple timers.
AnnaBridge 163:e59c8e839560 1594 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1595 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1596 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 1597 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 1598 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 1599 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 1600 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 1601 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 1602 * @retval None
AnnaBridge 163:e59c8e839560 1603 */
AnnaBridge 163:e59c8e839560 1604 __STATIC_INLINE void LL_HRTIM_SuspendUpdate(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 1605 {
AnnaBridge 163:e59c8e839560 1606 SET_BIT(HRTIMx->sCommonRegs.CR1, ((Timers >> HRTIM_MCR_MCEN_Pos) & HRTIM_CR1_UDIS_MASK));
AnnaBridge 163:e59c8e839560 1607 }
AnnaBridge 163:e59c8e839560 1608
AnnaBridge 163:e59c8e839560 1609 /**
AnnaBridge 163:e59c8e839560 1610 * @brief Enable update event generation.
AnnaBridge 163:e59c8e839560 1611 * @rmtoll CR1 MUDIS LL_HRTIM_ResumeUpdate\n
AnnaBridge 163:e59c8e839560 1612 * CR1 TAUDIS LL_HRTIM_ResumeUpdate\n
AnnaBridge 163:e59c8e839560 1613 * CR1 TBUDIS LL_HRTIM_ResumeUpdate\n
AnnaBridge 163:e59c8e839560 1614 * CR1 TCUDIS LL_HRTIM_ResumeUpdate\n
AnnaBridge 163:e59c8e839560 1615 * CR1 TDUDIS LL_HRTIM_ResumeUpdate\n
AnnaBridge 163:e59c8e839560 1616 * CR1 TEUDIS LL_HRTIM_ResumeUpdate
AnnaBridge 163:e59c8e839560 1617 * @note The regular update event takes place.
AnnaBridge 163:e59c8e839560 1618 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1619 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1620 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 1621 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 1622 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 1623 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 1624 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 1625 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 1626 * @retval None
AnnaBridge 163:e59c8e839560 1627 */
AnnaBridge 163:e59c8e839560 1628 __STATIC_INLINE void LL_HRTIM_ResumeUpdate(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 1629 {
AnnaBridge 163:e59c8e839560 1630 CLEAR_BIT(HRTIMx->sCommonRegs.CR1, ((Timers >> HRTIM_MCR_MCEN_Pos) & HRTIM_CR1_UDIS_MASK));
AnnaBridge 163:e59c8e839560 1631 }
AnnaBridge 163:e59c8e839560 1632
AnnaBridge 163:e59c8e839560 1633 /**
AnnaBridge 163:e59c8e839560 1634 * @brief Force an immediate transfer from the preload to the active register .
AnnaBridge 163:e59c8e839560 1635 * @rmtoll CR2 MSWU LL_HRTIM_ForceUpdate\n
AnnaBridge 163:e59c8e839560 1636 * CR2 TASWU LL_HRTIM_ForceUpdate\n
AnnaBridge 163:e59c8e839560 1637 * CR2 TBSWU LL_HRTIM_ForceUpdate\n
AnnaBridge 163:e59c8e839560 1638 * CR2 TCSWU LL_HRTIM_ForceUpdate\n
AnnaBridge 163:e59c8e839560 1639 * CR2 TDSWU LL_HRTIM_ForceUpdate\n
AnnaBridge 163:e59c8e839560 1640 * CR2 TESWU LL_HRTIM_ForceUpdate
AnnaBridge 163:e59c8e839560 1641 * @note Any pending update request is cancelled.
AnnaBridge 163:e59c8e839560 1642 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1643 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1644 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 1645 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 1646 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 1647 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 1648 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 1649 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 1650 * @retval None
AnnaBridge 163:e59c8e839560 1651 */
AnnaBridge 163:e59c8e839560 1652 __STATIC_INLINE void LL_HRTIM_ForceUpdate(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 1653 {
AnnaBridge 163:e59c8e839560 1654 SET_BIT(HRTIMx->sCommonRegs.CR2, ((Timers >> HRTIM_MCR_MCEN_Pos) & HRTIM_CR2_SWUPD_MASK));
AnnaBridge 163:e59c8e839560 1655 }
AnnaBridge 163:e59c8e839560 1656
AnnaBridge 163:e59c8e839560 1657 /**
AnnaBridge 163:e59c8e839560 1658 * @brief Reset the HRTIM timer(s) counter.
AnnaBridge 163:e59c8e839560 1659 * @rmtoll CR2 MRST LL_HRTIM_CounterReset\n
AnnaBridge 163:e59c8e839560 1660 * CR2 TARST LL_HRTIM_CounterReset\n
AnnaBridge 163:e59c8e839560 1661 * CR2 TBRST LL_HRTIM_CounterReset\n
AnnaBridge 163:e59c8e839560 1662 * CR2 TCRST LL_HRTIM_CounterReset\n
AnnaBridge 163:e59c8e839560 1663 * CR2 TDRST LL_HRTIM_CounterReset\n
AnnaBridge 163:e59c8e839560 1664 * CR2 TERST LL_HRTIM_CounterReset
AnnaBridge 163:e59c8e839560 1665 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1666 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1667 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 1668 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 1669 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 1670 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 1671 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 1672 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 1673 * @retval None
AnnaBridge 163:e59c8e839560 1674 */
AnnaBridge 163:e59c8e839560 1675 __STATIC_INLINE void LL_HRTIM_CounterReset(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 1676 {
AnnaBridge 163:e59c8e839560 1677 SET_BIT(HRTIMx->sCommonRegs.CR2, (((Timers >> HRTIM_MCR_MCEN_Pos) << HRTIM_CR2_MRST_Pos) & HRTIM_CR2_SWRST_MASK));
AnnaBridge 163:e59c8e839560 1678 }
AnnaBridge 163:e59c8e839560 1679
AnnaBridge 163:e59c8e839560 1680 /**
AnnaBridge 163:e59c8e839560 1681 * @brief Enable the HRTIM timer(s) output(s) .
AnnaBridge 163:e59c8e839560 1682 * @rmtoll OENR TA1OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1683 * OENR TA2OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1684 * OENR TB1OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1685 * OENR TB2OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1686 * OENR TC1OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1687 * OENR TC2OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1688 * OENR TD1OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1689 * OENR TD2OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1690 * OENR TE1OEN LL_HRTIM_EnableOutput\n
AnnaBridge 163:e59c8e839560 1691 * OENR TE2OEN LL_HRTIM_EnableOutput
AnnaBridge 163:e59c8e839560 1692 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1693 * @param Outputs This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1694 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 1695 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 1696 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 1697 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 1698 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 1699 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 1700 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 1701 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 1702 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 1703 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 1704 * @retval None
AnnaBridge 163:e59c8e839560 1705 */
AnnaBridge 163:e59c8e839560 1706 __STATIC_INLINE void LL_HRTIM_EnableOutput(HRTIM_TypeDef *HRTIMx, uint32_t Outputs)
AnnaBridge 163:e59c8e839560 1707 {
AnnaBridge 163:e59c8e839560 1708 SET_BIT(HRTIMx->sCommonRegs.OENR, (Outputs & HRTIM_OENR_OEN_MASK));
AnnaBridge 163:e59c8e839560 1709 }
AnnaBridge 163:e59c8e839560 1710
AnnaBridge 163:e59c8e839560 1711 /**
AnnaBridge 163:e59c8e839560 1712 * @brief Disable the HRTIM timer(s) output(s) .
AnnaBridge 163:e59c8e839560 1713 * @rmtoll OENR TA1OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1714 * OENR TA2OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1715 * OENR TB1OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1716 * OENR TB2OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1717 * OENR TC1OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1718 * OENR TC2OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1719 * OENR TD1OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1720 * OENR TD2OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1721 * OENR TE1OEN LL_HRTIM_DisableOutput\n
AnnaBridge 163:e59c8e839560 1722 * OENR TE2OEN LL_HRTIM_DisableOutput
AnnaBridge 163:e59c8e839560 1723 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1724 * @param Outputs This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1725 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 1726 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 1727 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 1728 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 1729 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 1730 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 1731 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 1732 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 1733 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 1734 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 1735 * @retval None
AnnaBridge 163:e59c8e839560 1736 */
AnnaBridge 163:e59c8e839560 1737 __STATIC_INLINE void LL_HRTIM_DisableOutput(HRTIM_TypeDef *HRTIMx, uint32_t Outputs)
AnnaBridge 163:e59c8e839560 1738 {
AnnaBridge 163:e59c8e839560 1739 SET_BIT(HRTIMx->sCommonRegs.ODISR, (Outputs & HRTIM_OENR_ODIS_MASK));
AnnaBridge 163:e59c8e839560 1740 }
AnnaBridge 163:e59c8e839560 1741
AnnaBridge 163:e59c8e839560 1742 /**
AnnaBridge 163:e59c8e839560 1743 * @brief Indicates whether the HRTIM timer output is enabled.
AnnaBridge 163:e59c8e839560 1744 * @rmtoll OENR TA1OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1745 * OENR TA2OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1746 * OENR TB1OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1747 * OENR TB2OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1748 * OENR TC1OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1749 * OENR TC2OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1750 * OENR TD1OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1751 * OENR TD2OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1752 * OENR TE1OEN LL_HRTIM_IsEnabledOutput\n
AnnaBridge 163:e59c8e839560 1753 * OENR TE2OEN LL_HRTIM_IsEnabledOutput
AnnaBridge 163:e59c8e839560 1754 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1755 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1756 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 1757 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 1758 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 1759 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 1760 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 1761 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 1762 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 1763 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 1764 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 1765 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 1766 * @retval State of TxyOEN bit in HRTIM_OENR register (1 or 0).
AnnaBridge 163:e59c8e839560 1767 */
AnnaBridge 163:e59c8e839560 1768 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledOutput(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 1769 {
AnnaBridge 163:e59c8e839560 1770 return (READ_BIT(HRTIMx->sCommonRegs.OENR, Output) == Output);
AnnaBridge 163:e59c8e839560 1771 }
AnnaBridge 163:e59c8e839560 1772
AnnaBridge 163:e59c8e839560 1773 /**
AnnaBridge 163:e59c8e839560 1774 * @brief Indicates whether the HRTIM timer output is disabled.
AnnaBridge 163:e59c8e839560 1775 * @rmtoll ODISR TA1ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1776 * ODISR TA2ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1777 * ODISR TB1ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1778 * ODISR TB2ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1779 * ODISR TC1ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1780 * ODISR TC2ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1781 * ODISR TD1ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1782 * ODISR TD2ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1783 * ODISR TE1ODIS LL_HRTIM_IsDisabledOutput\n
AnnaBridge 163:e59c8e839560 1784 * ODISR TE2ODIS LL_HRTIM_IsDisabledOutput
AnnaBridge 163:e59c8e839560 1785 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1786 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1787 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 1788 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 1789 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 1790 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 1791 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 1792 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 1793 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 1794 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 1795 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 1796 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 1797 * @retval State of TxyODS bit in HRTIM_ODSR register (1 or 0).
AnnaBridge 163:e59c8e839560 1798 */
AnnaBridge 163:e59c8e839560 1799 __STATIC_INLINE uint32_t LL_HRTIM_IsDisabledOutput(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 1800 {
AnnaBridge 163:e59c8e839560 1801 return (READ_BIT(HRTIMx->sCommonRegs.ODISR, Output) == Output);
AnnaBridge 163:e59c8e839560 1802 }
AnnaBridge 163:e59c8e839560 1803
AnnaBridge 163:e59c8e839560 1804 /**
AnnaBridge 163:e59c8e839560 1805 * @brief Configure an ADC trigger.
AnnaBridge 163:e59c8e839560 1806 * @rmtoll CR1 ADC1USRC LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1807 * CR1 ADC2USRC LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1808 * CR1 ADC3USRC LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1809 * CR1 ADC4USRC LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1810 * ADC1R ADC1MC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1811 * ADC1R ADC1MPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1812 * ADC1R ADC1EEV1 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1813 * ADC1R ADC1EEV2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1814 * ADC1R ADC1EEV3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1815 * ADC1R ADC1EEV4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1816 * ADC1R ADC1EEV5 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1817 * ADC1R ADC1TAC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1818 * ADC1R ADC1TAC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1819 * ADC1R ADC1TAC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1820 * ADC1R ADC1TAPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1821 * ADC1R ADC1TARST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1822 * ADC1R ADC1TBC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1823 * ADC1R ADC1TBC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1824 * ADC1R ADC1TBC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1825 * ADC1R ADC1TBPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1826 * ADC1R ADC1TBRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1827 * ADC1R ADC1TCC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1828 * ADC1R ADC1TCC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1829 * ADC1R ADC1TCC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1830 * ADC1R ADC1TCPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1831 * ADC1R ADC1TDC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1832 * ADC1R ADC1TDC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1833 * ADC1R ADC1TDC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1834 * ADC1R ADC1TDPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1835 * ADC1R ADC1TEC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1836 * ADC1R ADC1TEC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1837 * ADC1R ADC1TEC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1838 * ADC1R ADC1TEPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1839 * ADC2R ADC2MC1 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1840 * ADC2R ADC2MC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1841 * ADC2R ADC2MC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1842 * ADC2R ADC2MC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1843 * ADC2R ADC2MPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1844 * ADC2R ADC2EEV6 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1845 * ADC2R ADC2EEV7 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1846 * ADC2R ADC2EEV8 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1847 * ADC2R ADC2EEV9 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1848 * ADC2R ADC2EEV10 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1849 * ADC2R ADC2TAC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1850 * ADC2R ADC2TAC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1851 * ADC2R ADC2TAC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1852 * ADC2R ADC2TAPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1853 * ADC2R ADC2TBC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1854 * ADC2R ADC2TBC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1855 * ADC2R ADC2TBC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1856 * ADC2R ADC2TBPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1857 * ADC2R ADC2TCC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1858 * ADC2R ADC2TCC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1859 * ADC2R ADC2TCC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1860 * ADC2R ADC2TCPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1861 * ADC2R ADC2TCRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1862 * ADC2R ADC2TDC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1863 * ADC2R ADC2TDC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1864 * ADC2R ADC2TDC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1865 * ADC2R ADC2TDPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1866 * ADC2R ADC2TDRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1867 * ADC2R ADC2TEC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1868 * ADC2R ADC2TEC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1869 * ADC2R ADC2TEC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1870 * ADC2R ADC2TERST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1871 * ADC3R ADC3MC1 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1872 * ADC3R ADC3MC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1873 * ADC3R ADC3MC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1874 * ADC3R ADC3MC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1875 * ADC3R ADC3MPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1876 * ADC3R ADC3EEV1 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1877 * ADC3R ADC3EEV2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1878 * ADC3R ADC3EEV3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1879 * ADC3R ADC3EEV4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1880 * ADC3R ADC3EEV5 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1881 * ADC3R ADC3TAC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1882 * ADC3R ADC3TAC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1883 * ADC3R ADC3TAC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1884 * ADC3R ADC3TAPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1885 * ADC3R ADC3TARST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1886 * ADC3R ADC3TBC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1887 * ADC3R ADC3TBC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1888 * ADC3R ADC3TBC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1889 * ADC3R ADC3TBPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1890 * ADC3R ADC3TBRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1891 * ADC3R ADC3TCC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1892 * ADC3R ADC3TCC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1893 * ADC3R ADC3TCC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1894 * ADC3R ADC3TCPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1895 * ADC3R ADC3TDC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1896 * ADC3R ADC3TDC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1897 * ADC3R ADC3TDC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1898 * ADC3R ADC3TDPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1899 * ADC3R ADC3TEC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1900 * ADC3R ADC3TEC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1901 * ADC3R ADC3TEC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1902 * ADC3R ADC3TEPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1903 * ADC4R ADC4MC1 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1904 * ADC4R ADC4MC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1905 * ADC4R ADC4MC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1906 * ADC4R ADC4MC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1907 * ADC4R ADC4MPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1908 * ADC4R ADC4EEV6 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1909 * ADC4R ADC4EEV7 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1910 * ADC4R ADC4EEV8 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1911 * ADC4R ADC4EEV9 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1912 * ADC4R ADC4EEV10 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1913 * ADC4R ADC4TAC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1914 * ADC4R ADC4TAC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1915 * ADC4R ADC4TAC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1916 * ADC4R ADC4TAPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1917 * ADC4R ADC4TBC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1918 * ADC4R ADC4TBC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1919 * ADC4R ADC4TBC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1920 * ADC4R ADC4TBPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1921 * ADC4R ADC4TCC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1922 * ADC4R ADC4TCC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1923 * ADC4R ADC4TCC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1924 * ADC4R ADC4TCPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1925 * ADC4R ADC4TCRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1926 * ADC4R ADC4TDC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1927 * ADC4R ADC4TDC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1928 * ADC4R ADC4TDC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1929 * ADC4R ADC4TDPER LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1930 * ADC4R ADC4TDRST LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1931 * ADC4R ADC4TEC2 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1932 * ADC4R ADC4TEC3 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1933 * ADC4R ADC4TEC4 LL_HRTIM_ConfigADCTrig\n
AnnaBridge 163:e59c8e839560 1934 * ADC4R ADC4TERST LL_HRTIM_ConfigADCTrig
AnnaBridge 163:e59c8e839560 1935 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 1936 * @param ADCTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1937 * @arg @ref LL_HRTIM_ADCTRIG_1
AnnaBridge 163:e59c8e839560 1938 * @arg @ref LL_HRTIM_ADCTRIG_2
AnnaBridge 163:e59c8e839560 1939 * @arg @ref LL_HRTIM_ADCTRIG_3
AnnaBridge 163:e59c8e839560 1940 * @arg @ref LL_HRTIM_ADCTRIG_4
AnnaBridge 163:e59c8e839560 1941 * @param Update This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 1942 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_MASTER
AnnaBridge 163:e59c8e839560 1943 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_A
AnnaBridge 163:e59c8e839560 1944 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_B
AnnaBridge 163:e59c8e839560 1945 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_C
AnnaBridge 163:e59c8e839560 1946 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_D
AnnaBridge 163:e59c8e839560 1947 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_E
AnnaBridge 163:e59c8e839560 1948 * @param Src This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 1949 *
AnnaBridge 163:e59c8e839560 1950 * For ADC trigger 1 and ADC trigger 3:
AnnaBridge 163:e59c8e839560 1951 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_NONE
AnnaBridge 163:e59c8e839560 1952 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP1
AnnaBridge 163:e59c8e839560 1953 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP2
AnnaBridge 163:e59c8e839560 1954 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP3
AnnaBridge 163:e59c8e839560 1955 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP4
AnnaBridge 163:e59c8e839560 1956 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MPER
AnnaBridge 163:e59c8e839560 1957 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP2
AnnaBridge 163:e59c8e839560 1958 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP3
AnnaBridge 163:e59c8e839560 1959 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP4
AnnaBridge 163:e59c8e839560 1960 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMAPER
AnnaBridge 163:e59c8e839560 1961 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV1
AnnaBridge 163:e59c8e839560 1962 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV2
AnnaBridge 163:e59c8e839560 1963 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV3
AnnaBridge 163:e59c8e839560 1964 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV4
AnnaBridge 163:e59c8e839560 1965 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV5
AnnaBridge 163:e59c8e839560 1966 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMARST
AnnaBridge 163:e59c8e839560 1967 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP2
AnnaBridge 163:e59c8e839560 1968 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP3
AnnaBridge 163:e59c8e839560 1969 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP4
AnnaBridge 163:e59c8e839560 1970 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBPER
AnnaBridge 163:e59c8e839560 1971 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBRST
AnnaBridge 163:e59c8e839560 1972 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP2
AnnaBridge 163:e59c8e839560 1973 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP3
AnnaBridge 163:e59c8e839560 1974 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP4
AnnaBridge 163:e59c8e839560 1975 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCPER
AnnaBridge 163:e59c8e839560 1976 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP2
AnnaBridge 163:e59c8e839560 1977 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP3
AnnaBridge 163:e59c8e839560 1978 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP4
AnnaBridge 163:e59c8e839560 1979 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDPER
AnnaBridge 163:e59c8e839560 1980 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP2
AnnaBridge 163:e59c8e839560 1981 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP3
AnnaBridge 163:e59c8e839560 1982 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP4
AnnaBridge 163:e59c8e839560 1983 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMEPER
AnnaBridge 163:e59c8e839560 1984 *
AnnaBridge 163:e59c8e839560 1985 * For ADC trigger 2 and ADC trigger 4:
AnnaBridge 163:e59c8e839560 1986 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_NONE
AnnaBridge 163:e59c8e839560 1987 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP1
AnnaBridge 163:e59c8e839560 1988 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP2
AnnaBridge 163:e59c8e839560 1989 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP3
AnnaBridge 163:e59c8e839560 1990 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP4
AnnaBridge 163:e59c8e839560 1991 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MPER
AnnaBridge 163:e59c8e839560 1992 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV6
AnnaBridge 163:e59c8e839560 1993 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV7
AnnaBridge 163:e59c8e839560 1994 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV8
AnnaBridge 163:e59c8e839560 1995 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV9
AnnaBridge 163:e59c8e839560 1996 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV10
AnnaBridge 163:e59c8e839560 1997 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP2
AnnaBridge 163:e59c8e839560 1998 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP3
AnnaBridge 163:e59c8e839560 1999 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP4
AnnaBridge 163:e59c8e839560 2000 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMAPER
AnnaBridge 163:e59c8e839560 2001 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP2
AnnaBridge 163:e59c8e839560 2002 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP3
AnnaBridge 163:e59c8e839560 2003 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP4
AnnaBridge 163:e59c8e839560 2004 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBPER
AnnaBridge 163:e59c8e839560 2005 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP2
AnnaBridge 163:e59c8e839560 2006 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP3
AnnaBridge 163:e59c8e839560 2007 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP4
AnnaBridge 163:e59c8e839560 2008 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCPER
AnnaBridge 163:e59c8e839560 2009 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCRST
AnnaBridge 163:e59c8e839560 2010 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP2
AnnaBridge 163:e59c8e839560 2011 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP3
AnnaBridge 163:e59c8e839560 2012 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP4
AnnaBridge 163:e59c8e839560 2013 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDPER
AnnaBridge 163:e59c8e839560 2014 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDRST
AnnaBridge 163:e59c8e839560 2015 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP2
AnnaBridge 163:e59c8e839560 2016 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP3
AnnaBridge 163:e59c8e839560 2017 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP4
AnnaBridge 163:e59c8e839560 2018 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMERST
AnnaBridge 163:e59c8e839560 2019 * @retval None
AnnaBridge 163:e59c8e839560 2020 */
AnnaBridge 163:e59c8e839560 2021 __STATIC_INLINE void LL_HRTIM_ConfigADCTrig(HRTIM_TypeDef *HRTIMx, uint32_t ADCTrig, uint32_t Update, uint32_t Src)
AnnaBridge 163:e59c8e839560 2022 {
AnnaBridge 163:e59c8e839560 2023 register uint32_t shift = 3 * ADCTrig;
AnnaBridge 163:e59c8e839560 2024 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.ADC1R) +
AnnaBridge 163:e59c8e839560 2025 REG_OFFSET_TAB_ADCxR[ADCTrig]));
AnnaBridge 163:e59c8e839560 2026 MODIFY_REG(HRTIMx->sCommonRegs.CR1, (HRTIM_CR1_ADC1USRC << shift), (Update << shift));
AnnaBridge 163:e59c8e839560 2027 WRITE_REG(*pReg, Src);
AnnaBridge 163:e59c8e839560 2028 }
AnnaBridge 163:e59c8e839560 2029
AnnaBridge 163:e59c8e839560 2030 /**
AnnaBridge 163:e59c8e839560 2031 * @brief Associate the ADCx trigger to a timer triggering the update of the HRTIM_ADCxR register.
AnnaBridge 163:e59c8e839560 2032 * @rmtoll CR1 ADC1USRC LL_HRTIM_SetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2033 * CR1 ADC2USRC LL_HRTIM_SetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2034 * CR1 ADC3USRC LL_HRTIM_SetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2035 * CR1 ADC4USRC LL_HRTIM_SetADCTrigUpdate
AnnaBridge 163:e59c8e839560 2036 * @note When the preload is disabled in the source timer, the HRTIM_ADCxR
AnnaBridge 163:e59c8e839560 2037 * registers are not preloaded either: a write access will result in an
AnnaBridge 163:e59c8e839560 2038 * immediate update of the trigger source.
AnnaBridge 163:e59c8e839560 2039 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2040 * @param ADCTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2041 * @arg @ref LL_HRTIM_ADCTRIG_1
AnnaBridge 163:e59c8e839560 2042 * @arg @ref LL_HRTIM_ADCTRIG_2
AnnaBridge 163:e59c8e839560 2043 * @arg @ref LL_HRTIM_ADCTRIG_3
AnnaBridge 163:e59c8e839560 2044 * @arg @ref LL_HRTIM_ADCTRIG_4
AnnaBridge 163:e59c8e839560 2045 * @param Update This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2046 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_MASTER
AnnaBridge 163:e59c8e839560 2047 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_A
AnnaBridge 163:e59c8e839560 2048 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_B
AnnaBridge 163:e59c8e839560 2049 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_C
AnnaBridge 163:e59c8e839560 2050 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_D
AnnaBridge 163:e59c8e839560 2051 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_E
AnnaBridge 163:e59c8e839560 2052 * @retval None
AnnaBridge 163:e59c8e839560 2053 */
AnnaBridge 163:e59c8e839560 2054 __STATIC_INLINE void LL_HRTIM_SetADCTrigUpdate(HRTIM_TypeDef *HRTIMx, uint32_t ADCTrig, uint32_t Update)
AnnaBridge 163:e59c8e839560 2055 {
AnnaBridge 163:e59c8e839560 2056 register uint32_t shift = 3 * ADCTrig;
AnnaBridge 163:e59c8e839560 2057 MODIFY_REG(HRTIMx->sCommonRegs.CR1, (HRTIM_CR1_ADC1USRC << shift), (Update << shift));
AnnaBridge 163:e59c8e839560 2058 }
AnnaBridge 163:e59c8e839560 2059
AnnaBridge 163:e59c8e839560 2060 /**
AnnaBridge 163:e59c8e839560 2061 * @brief Get the source timer triggering the update of the HRTIM_ADCxR register.
AnnaBridge 163:e59c8e839560 2062 * @rmtoll CR1 ADC1USRC LL_HRTIM_GetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2063 * CR1 ADC2USRC LL_HRTIM_GetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2064 * CR1 ADC3USRC LL_HRTIM_GetADCTrigUpdate\n
AnnaBridge 163:e59c8e839560 2065 * CR1 ADC4USRC LL_HRTIM_GetADCTrigUpdate
AnnaBridge 163:e59c8e839560 2066 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2067 * @param ADCTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2068 * @arg @ref LL_HRTIM_ADCTRIG_1
AnnaBridge 163:e59c8e839560 2069 * @arg @ref LL_HRTIM_ADCTRIG_2
AnnaBridge 163:e59c8e839560 2070 * @arg @ref LL_HRTIM_ADCTRIG_3
AnnaBridge 163:e59c8e839560 2071 * @arg @ref LL_HRTIM_ADCTRIG_4
AnnaBridge 163:e59c8e839560 2072 * @retval Update Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2073 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_MASTER
AnnaBridge 163:e59c8e839560 2074 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_A
AnnaBridge 163:e59c8e839560 2075 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_B
AnnaBridge 163:e59c8e839560 2076 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_C
AnnaBridge 163:e59c8e839560 2077 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_D
AnnaBridge 163:e59c8e839560 2078 * @arg @ref LL_HRTIM_ADCTRIG_UPDATE_TIMER_E
AnnaBridge 163:e59c8e839560 2079 */
AnnaBridge 163:e59c8e839560 2080 __STATIC_INLINE uint32_t LL_HRTIM_GetADCTrigUpdate(HRTIM_TypeDef *HRTIMx, uint32_t ADCTrig)
AnnaBridge 163:e59c8e839560 2081 {
AnnaBridge 163:e59c8e839560 2082 register uint32_t shift = 3 * ADCTrig;
AnnaBridge 163:e59c8e839560 2083 return (READ_BIT(HRTIMx->sCommonRegs.CR1, (HRTIM_CR1_ADC1USRC << shift)) >> shift);
AnnaBridge 163:e59c8e839560 2084 }
AnnaBridge 163:e59c8e839560 2085
AnnaBridge 163:e59c8e839560 2086 /**
AnnaBridge 163:e59c8e839560 2087 * @brief Specify which events (timer events and/or external events) are used as triggers for ADC conversion.
AnnaBridge 163:e59c8e839560 2088 * @rmtoll ADC1R ADC1MC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2089 * ADC1R ADC1MPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2090 * ADC1R ADC1EEV1 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2091 * ADC1R ADC1EEV2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2092 * ADC1R ADC1EEV3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2093 * ADC1R ADC1EEV4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2094 * ADC1R ADC1EEV5 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2095 * ADC1R ADC1TAC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2096 * ADC1R ADC1TAC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2097 * ADC1R ADC1TAC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2098 * ADC1R ADC1TAPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2099 * ADC1R ADC1TARST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2100 * ADC1R ADC1TBC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2101 * ADC1R ADC1TBC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2102 * ADC1R ADC1TBC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2103 * ADC1R ADC1TBPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2104 * ADC1R ADC1TBRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2105 * ADC1R ADC1TCC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2106 * ADC1R ADC1TCC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2107 * ADC1R ADC1TCC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2108 * ADC1R ADC1TCPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2109 * ADC1R ADC1TDC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2110 * ADC1R ADC1TDC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2111 * ADC1R ADC1TDC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2112 * ADC1R ADC1TDPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2113 * ADC1R ADC1TEC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2114 * ADC1R ADC1TEC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2115 * ADC1R ADC1TEC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2116 * ADC1R ADC1TEPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2117 * ADC2R ADC2MC1 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2118 * ADC2R ADC2MC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2119 * ADC2R ADC2MC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2120 * ADC2R ADC2MC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2121 * ADC2R ADC2MPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2122 * ADC2R ADC2EEV6 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2123 * ADC2R ADC2EEV7 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2124 * ADC2R ADC2EEV8 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2125 * ADC2R ADC2EEV9 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2126 * ADC2R ADC2EEV10 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2127 * ADC2R ADC2TAC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2128 * ADC2R ADC2TAC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2129 * ADC2R ADC2TAC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2130 * ADC2R ADC2TAPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2131 * ADC2R ADC2TBC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2132 * ADC2R ADC2TBC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2133 * ADC2R ADC2TBC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2134 * ADC2R ADC2TBPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2135 * ADC2R ADC2TCC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2136 * ADC2R ADC2TCC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2137 * ADC2R ADC2TCC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2138 * ADC2R ADC2TCPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2139 * ADC2R ADC2TCRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2140 * ADC2R ADC2TDC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2141 * ADC2R ADC2TDC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2142 * ADC2R ADC2TDC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2143 * ADC2R ADC2TDPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2144 * ADC2R ADC2TDRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2145 * ADC2R ADC2TEC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2146 * ADC2R ADC2TEC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2147 * ADC2R ADC2TEC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2148 * ADC2R ADC2TERST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2149 * ADC3R ADC3MC1 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2150 * ADC3R ADC3MC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2151 * ADC3R ADC3MC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2152 * ADC3R ADC3MC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2153 * ADC3R ADC3MPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2154 * ADC3R ADC3EEV1 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2155 * ADC3R ADC3EEV2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2156 * ADC3R ADC3EEV3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2157 * ADC3R ADC3EEV4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2158 * ADC3R ADC3EEV5 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2159 * ADC3R ADC3TAC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2160 * ADC3R ADC3TAC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2161 * ADC3R ADC3TAC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2162 * ADC3R ADC3TAPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2163 * ADC3R ADC3TARST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2164 * ADC3R ADC3TBC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2165 * ADC3R ADC3TBC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2166 * ADC3R ADC3TBC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2167 * ADC3R ADC3TBPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2168 * ADC3R ADC3TBRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2169 * ADC3R ADC3TCC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2170 * ADC3R ADC3TCC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2171 * ADC3R ADC3TCC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2172 * ADC3R ADC3TCPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2173 * ADC3R ADC3TDC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2174 * ADC3R ADC3TDC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2175 * ADC3R ADC3TDC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2176 * ADC3R ADC3TDPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2177 * ADC3R ADC3TEC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2178 * ADC3R ADC3TEC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2179 * ADC3R ADC3TEC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2180 * ADC3R ADC3TEPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2181 * ADC4R ADC4MC1 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2182 * ADC4R ADC4MC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2183 * ADC4R ADC4MC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2184 * ADC4R ADC4MC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2185 * ADC4R ADC4MPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2186 * ADC4R ADC4EEV6 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2187 * ADC4R ADC4EEV7 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2188 * ADC4R ADC4EEV8 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2189 * ADC4R ADC4EEV9 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2190 * ADC4R ADC4EEV10 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2191 * ADC4R ADC4TAC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2192 * ADC4R ADC4TAC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2193 * ADC4R ADC4TAC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2194 * ADC4R ADC4TAPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2195 * ADC4R ADC4TBC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2196 * ADC4R ADC4TBC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2197 * ADC4R ADC4TBC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2198 * ADC4R ADC4TBPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2199 * ADC4R ADC4TCC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2200 * ADC4R ADC4TCC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2201 * ADC4R ADC4TCC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2202 * ADC4R ADC4TCPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2203 * ADC4R ADC4TCRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2204 * ADC4R ADC4TDC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2205 * ADC4R ADC4TDC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2206 * ADC4R ADC4TDC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2207 * ADC4R ADC4TDPER LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2208 * ADC4R ADC4TDRST LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2209 * ADC4R ADC4TEC2 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2210 * ADC4R ADC4TEC3 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2211 * ADC4R ADC4TEC4 LL_HRTIM_SetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2212 * ADC4R ADC4TERST LL_HRTIM_SetADCTrigSrc
AnnaBridge 163:e59c8e839560 2213 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2214 * @param ADCTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2215 * @arg @ref LL_HRTIM_ADCTRIG_1
AnnaBridge 163:e59c8e839560 2216 * @arg @ref LL_HRTIM_ADCTRIG_2
AnnaBridge 163:e59c8e839560 2217 * @arg @ref LL_HRTIM_ADCTRIG_3
AnnaBridge 163:e59c8e839560 2218 * @arg @ref LL_HRTIM_ADCTRIG_4
AnnaBridge 163:e59c8e839560 2219 * @param Src This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 2220 *
AnnaBridge 163:e59c8e839560 2221 * For ADC trigger 1 and ADC trigger 3:
AnnaBridge 163:e59c8e839560 2222 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_NONE
AnnaBridge 163:e59c8e839560 2223 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP1
AnnaBridge 163:e59c8e839560 2224 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP2
AnnaBridge 163:e59c8e839560 2225 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP3
AnnaBridge 163:e59c8e839560 2226 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP4
AnnaBridge 163:e59c8e839560 2227 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MPER
AnnaBridge 163:e59c8e839560 2228 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP2
AnnaBridge 163:e59c8e839560 2229 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP3
AnnaBridge 163:e59c8e839560 2230 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP4
AnnaBridge 163:e59c8e839560 2231 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMAPER
AnnaBridge 163:e59c8e839560 2232 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV1
AnnaBridge 163:e59c8e839560 2233 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV2
AnnaBridge 163:e59c8e839560 2234 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV3
AnnaBridge 163:e59c8e839560 2235 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV4
AnnaBridge 163:e59c8e839560 2236 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV5
AnnaBridge 163:e59c8e839560 2237 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMARST
AnnaBridge 163:e59c8e839560 2238 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP2
AnnaBridge 163:e59c8e839560 2239 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP3
AnnaBridge 163:e59c8e839560 2240 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP4
AnnaBridge 163:e59c8e839560 2241 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBPER
AnnaBridge 163:e59c8e839560 2242 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBRST
AnnaBridge 163:e59c8e839560 2243 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP2
AnnaBridge 163:e59c8e839560 2244 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP3
AnnaBridge 163:e59c8e839560 2245 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP4
AnnaBridge 163:e59c8e839560 2246 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCPER
AnnaBridge 163:e59c8e839560 2247 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP2
AnnaBridge 163:e59c8e839560 2248 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP3
AnnaBridge 163:e59c8e839560 2249 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP4
AnnaBridge 163:e59c8e839560 2250 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDPER
AnnaBridge 163:e59c8e839560 2251 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP2
AnnaBridge 163:e59c8e839560 2252 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP3
AnnaBridge 163:e59c8e839560 2253 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP4
AnnaBridge 163:e59c8e839560 2254 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMEPER
AnnaBridge 163:e59c8e839560 2255 *
AnnaBridge 163:e59c8e839560 2256 * For ADC trigger 2 and ADC trigger 4:
AnnaBridge 163:e59c8e839560 2257 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_NONE
AnnaBridge 163:e59c8e839560 2258 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP1
AnnaBridge 163:e59c8e839560 2259 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP2
AnnaBridge 163:e59c8e839560 2260 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP3
AnnaBridge 163:e59c8e839560 2261 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP4
AnnaBridge 163:e59c8e839560 2262 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MPER
AnnaBridge 163:e59c8e839560 2263 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV6
AnnaBridge 163:e59c8e839560 2264 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV7
AnnaBridge 163:e59c8e839560 2265 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV8
AnnaBridge 163:e59c8e839560 2266 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV9
AnnaBridge 163:e59c8e839560 2267 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV10
AnnaBridge 163:e59c8e839560 2268 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP2
AnnaBridge 163:e59c8e839560 2269 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP3
AnnaBridge 163:e59c8e839560 2270 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP4
AnnaBridge 163:e59c8e839560 2271 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMAPER
AnnaBridge 163:e59c8e839560 2272 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP2
AnnaBridge 163:e59c8e839560 2273 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP3
AnnaBridge 163:e59c8e839560 2274 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP4
AnnaBridge 163:e59c8e839560 2275 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBPER
AnnaBridge 163:e59c8e839560 2276 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP2
AnnaBridge 163:e59c8e839560 2277 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP3
AnnaBridge 163:e59c8e839560 2278 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP4
AnnaBridge 163:e59c8e839560 2279 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCPER
AnnaBridge 163:e59c8e839560 2280 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCRST
AnnaBridge 163:e59c8e839560 2281 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP2
AnnaBridge 163:e59c8e839560 2282 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP3
AnnaBridge 163:e59c8e839560 2283 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP4
AnnaBridge 163:e59c8e839560 2284 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDPER
AnnaBridge 163:e59c8e839560 2285 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDRST
AnnaBridge 163:e59c8e839560 2286 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP2
AnnaBridge 163:e59c8e839560 2287 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP3
AnnaBridge 163:e59c8e839560 2288 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP4
AnnaBridge 163:e59c8e839560 2289 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMERST
AnnaBridge 163:e59c8e839560 2290 * @retval None
AnnaBridge 163:e59c8e839560 2291 */
AnnaBridge 163:e59c8e839560 2292 __STATIC_INLINE void LL_HRTIM_SetADCTrigSrc(HRTIM_TypeDef *HRTIMx, uint32_t ADCTrig, uint32_t Src)
AnnaBridge 163:e59c8e839560 2293 {
AnnaBridge 163:e59c8e839560 2294 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.ADC1R) +
AnnaBridge 163:e59c8e839560 2295 REG_OFFSET_TAB_ADCxR[ADCTrig]));
AnnaBridge 163:e59c8e839560 2296 WRITE_REG(*pReg, Src);
AnnaBridge 163:e59c8e839560 2297 }
AnnaBridge 163:e59c8e839560 2298
AnnaBridge 163:e59c8e839560 2299 /**
AnnaBridge 163:e59c8e839560 2300 * @brief Indicate which events (timer events and/or external events) are currently used as triggers for ADC conversion.
AnnaBridge 163:e59c8e839560 2301 * @rmtoll ADC1R ADC1MC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2302 * ADC1R ADC1MPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2303 * ADC1R ADC1EEV1 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2304 * ADC1R ADC1EEV2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2305 * ADC1R ADC1EEV3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2306 * ADC1R ADC1EEV4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2307 * ADC1R ADC1EEV5 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2308 * ADC1R ADC1TAC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2309 * ADC1R ADC1TAC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2310 * ADC1R ADC1TAC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2311 * ADC1R ADC1TAPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2312 * ADC1R ADC1TARST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2313 * ADC1R ADC1TBC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2314 * ADC1R ADC1TBC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2315 * ADC1R ADC1TBC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2316 * ADC1R ADC1TBPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2317 * ADC1R ADC1TBRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2318 * ADC1R ADC1TCC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2319 * ADC1R ADC1TCC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2320 * ADC1R ADC1TCC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2321 * ADC1R ADC1TCPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2322 * ADC1R ADC1TDC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2323 * ADC1R ADC1TDC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2324 * ADC1R ADC1TDC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2325 * ADC1R ADC1TDPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2326 * ADC1R ADC1TEC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2327 * ADC1R ADC1TEC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2328 * ADC1R ADC1TEC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2329 * ADC1R ADC1TEPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2330 * ADC2R ADC2MC1 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2331 * ADC2R ADC2MC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2332 * ADC2R ADC2MC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2333 * ADC2R ADC2MC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2334 * ADC2R ADC2MPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2335 * ADC2R ADC2EEV6 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2336 * ADC2R ADC2EEV7 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2337 * ADC2R ADC2EEV8 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2338 * ADC2R ADC2EEV9 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2339 * ADC2R ADC2EEV10 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2340 * ADC2R ADC2TAC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2341 * ADC2R ADC2TAC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2342 * ADC2R ADC2TAC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2343 * ADC2R ADC2TAPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2344 * ADC2R ADC2TBC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2345 * ADC2R ADC2TBC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2346 * ADC2R ADC2TBC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2347 * ADC2R ADC2TBPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2348 * ADC2R ADC2TCC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2349 * ADC2R ADC2TCC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2350 * ADC2R ADC2TCC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2351 * ADC2R ADC2TCPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2352 * ADC2R ADC2TCRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2353 * ADC2R ADC2TDC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2354 * ADC2R ADC2TDC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2355 * ADC2R ADC2TDC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2356 * ADC2R ADC2TDPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2357 * ADC2R ADC2TDRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2358 * ADC2R ADC2TEC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2359 * ADC2R ADC2TEC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2360 * ADC2R ADC2TEC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2361 * ADC2R ADC2TERST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2362 * ADC3R ADC3MC1 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2363 * ADC3R ADC3MC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2364 * ADC3R ADC3MC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2365 * ADC3R ADC3MC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2366 * ADC3R ADC3MPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2367 * ADC3R ADC3EEV1 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2368 * ADC3R ADC3EEV2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2369 * ADC3R ADC3EEV3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2370 * ADC3R ADC3EEV4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2371 * ADC3R ADC3EEV5 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2372 * ADC3R ADC3TAC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2373 * ADC3R ADC3TAC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2374 * ADC3R ADC3TAC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2375 * ADC3R ADC3TAPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2376 * ADC3R ADC3TARST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2377 * ADC3R ADC3TBC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2378 * ADC3R ADC3TBC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2379 * ADC3R ADC3TBC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2380 * ADC3R ADC3TBPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2381 * ADC3R ADC3TBRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2382 * ADC3R ADC3TCC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2383 * ADC3R ADC3TCC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2384 * ADC3R ADC3TCC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2385 * ADC3R ADC3TCPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2386 * ADC3R ADC3TDC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2387 * ADC3R ADC3TDC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2388 * ADC3R ADC3TDC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2389 * ADC3R ADC3TDPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2390 * ADC3R ADC3TEC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2391 * ADC3R ADC3TEC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2392 * ADC3R ADC3TEC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2393 * ADC3R ADC3TEPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2394 * ADC4R ADC4MC1 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2395 * ADC4R ADC4MC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2396 * ADC4R ADC4MC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2397 * ADC4R ADC4MC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2398 * ADC4R ADC4MPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2399 * ADC4R ADC4EEV6 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2400 * ADC4R ADC4EEV7 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2401 * ADC4R ADC4EEV8 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2402 * ADC4R ADC4EEV9 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2403 * ADC4R ADC4EEV10 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2404 * ADC4R ADC4TAC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2405 * ADC4R ADC4TAC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2406 * ADC4R ADC4TAC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2407 * ADC4R ADC4TAPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2408 * ADC4R ADC4TBC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2409 * ADC4R ADC4TBC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2410 * ADC4R ADC4TBC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2411 * ADC4R ADC4TBPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2412 * ADC4R ADC4TCC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2413 * ADC4R ADC4TCC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2414 * ADC4R ADC4TCC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2415 * ADC4R ADC4TCPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2416 * ADC4R ADC4TCRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2417 * ADC4R ADC4TDC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2418 * ADC4R ADC4TDC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2419 * ADC4R ADC4TDC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2420 * ADC4R ADC4TDPER LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2421 * ADC4R ADC4TDRST LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2422 * ADC4R ADC4TEC2 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2423 * ADC4R ADC4TEC3 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2424 * ADC4R ADC4TEC4 LL_HRTIM_GetADCTrigSrc\n
AnnaBridge 163:e59c8e839560 2425 * ADC4R ADC4TERST LL_HRTIM_GetADCTrigSrc
AnnaBridge 163:e59c8e839560 2426 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2427 * @param ADCTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2428 * @arg @ref LL_HRTIM_ADCTRIG_1
AnnaBridge 163:e59c8e839560 2429 * @arg @ref LL_HRTIM_ADCTRIG_2
AnnaBridge 163:e59c8e839560 2430 * @arg @ref LL_HRTIM_ADCTRIG_3
AnnaBridge 163:e59c8e839560 2431 * @arg @ref LL_HRTIM_ADCTRIG_4
AnnaBridge 163:e59c8e839560 2432 * @retval Src This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 2433 *
AnnaBridge 163:e59c8e839560 2434 * For ADC trigger 1 and ADC trigger 3:
AnnaBridge 163:e59c8e839560 2435 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_NONE
AnnaBridge 163:e59c8e839560 2436 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP1
AnnaBridge 163:e59c8e839560 2437 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP2
AnnaBridge 163:e59c8e839560 2438 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP3
AnnaBridge 163:e59c8e839560 2439 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MCMP4
AnnaBridge 163:e59c8e839560 2440 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_MPER
AnnaBridge 163:e59c8e839560 2441 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP2
AnnaBridge 163:e59c8e839560 2442 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP3
AnnaBridge 163:e59c8e839560 2443 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMACMP4
AnnaBridge 163:e59c8e839560 2444 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMAPER
AnnaBridge 163:e59c8e839560 2445 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV1
AnnaBridge 163:e59c8e839560 2446 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV2
AnnaBridge 163:e59c8e839560 2447 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV3
AnnaBridge 163:e59c8e839560 2448 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV4
AnnaBridge 163:e59c8e839560 2449 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_EEV5
AnnaBridge 163:e59c8e839560 2450 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMARST
AnnaBridge 163:e59c8e839560 2451 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP2
AnnaBridge 163:e59c8e839560 2452 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP3
AnnaBridge 163:e59c8e839560 2453 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBCMP4
AnnaBridge 163:e59c8e839560 2454 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBPER
AnnaBridge 163:e59c8e839560 2455 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMBRST
AnnaBridge 163:e59c8e839560 2456 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP2
AnnaBridge 163:e59c8e839560 2457 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP3
AnnaBridge 163:e59c8e839560 2458 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCCMP4
AnnaBridge 163:e59c8e839560 2459 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMCPER
AnnaBridge 163:e59c8e839560 2460 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP2
AnnaBridge 163:e59c8e839560 2461 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP3
AnnaBridge 163:e59c8e839560 2462 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDCMP4
AnnaBridge 163:e59c8e839560 2463 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMDPER
AnnaBridge 163:e59c8e839560 2464 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP2
AnnaBridge 163:e59c8e839560 2465 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP3
AnnaBridge 163:e59c8e839560 2466 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMECMP4
AnnaBridge 163:e59c8e839560 2467 * @arg @ref LL_HRTIM_ADCTRIG_SRC13_TIMEPER
AnnaBridge 163:e59c8e839560 2468 *
AnnaBridge 163:e59c8e839560 2469 * For ADC trigger 2 and ADC trigger 4:
AnnaBridge 163:e59c8e839560 2470 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_NONE
AnnaBridge 163:e59c8e839560 2471 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP1
AnnaBridge 163:e59c8e839560 2472 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP2
AnnaBridge 163:e59c8e839560 2473 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP3
AnnaBridge 163:e59c8e839560 2474 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MCMP4
AnnaBridge 163:e59c8e839560 2475 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_MPER
AnnaBridge 163:e59c8e839560 2476 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV6
AnnaBridge 163:e59c8e839560 2477 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV7
AnnaBridge 163:e59c8e839560 2478 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV8
AnnaBridge 163:e59c8e839560 2479 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV9
AnnaBridge 163:e59c8e839560 2480 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_EEV10
AnnaBridge 163:e59c8e839560 2481 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP2
AnnaBridge 163:e59c8e839560 2482 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP3
AnnaBridge 163:e59c8e839560 2483 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMACMP4
AnnaBridge 163:e59c8e839560 2484 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMAPER
AnnaBridge 163:e59c8e839560 2485 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP2
AnnaBridge 163:e59c8e839560 2486 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP3
AnnaBridge 163:e59c8e839560 2487 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBCMP4
AnnaBridge 163:e59c8e839560 2488 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMBPER
AnnaBridge 163:e59c8e839560 2489 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP2
AnnaBridge 163:e59c8e839560 2490 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP3
AnnaBridge 163:e59c8e839560 2491 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCCMP4
AnnaBridge 163:e59c8e839560 2492 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCPER
AnnaBridge 163:e59c8e839560 2493 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMCRST
AnnaBridge 163:e59c8e839560 2494 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP2
AnnaBridge 163:e59c8e839560 2495 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP3
AnnaBridge 163:e59c8e839560 2496 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDCMP4
AnnaBridge 163:e59c8e839560 2497 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDPER
AnnaBridge 163:e59c8e839560 2498 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMDRST
AnnaBridge 163:e59c8e839560 2499 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP2
AnnaBridge 163:e59c8e839560 2500 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP3
AnnaBridge 163:e59c8e839560 2501 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMECMP4
AnnaBridge 163:e59c8e839560 2502 * @arg @ref LL_HRTIM_ADCTRIG_SRC24_TIMERST
AnnaBridge 163:e59c8e839560 2503 */
AnnaBridge 163:e59c8e839560 2504 __STATIC_INLINE uint32_t LL_HRTIM_GetADCTrigSrc(HRTIM_TypeDef *HRTIMx, uint32_t ADCTrig)
AnnaBridge 163:e59c8e839560 2505 {
AnnaBridge 163:e59c8e839560 2506 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.ADC1R) +
AnnaBridge 163:e59c8e839560 2507 REG_OFFSET_TAB_ADCxR[ADCTrig]));
AnnaBridge 163:e59c8e839560 2508 return (*pReg);
AnnaBridge 163:e59c8e839560 2509 }
AnnaBridge 163:e59c8e839560 2510
AnnaBridge 163:e59c8e839560 2511 /**
AnnaBridge 163:e59c8e839560 2512 * @brief Configure the DLL calibration mode.
AnnaBridge 163:e59c8e839560 2513 * @rmtoll DLLCR CALEN LL_HRTIM_ConfigDLLCalibration\n
AnnaBridge 163:e59c8e839560 2514 * DLLCR CALRTE LL_HRTIM_ConfigDLLCalibration
AnnaBridge 163:e59c8e839560 2515 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2516 * @param Mode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2517 * @arg @ref LL_HRTIM_DLLCALIBRATION_MODE_SINGLESHOT
AnnaBridge 163:e59c8e839560 2518 * @arg @ref LL_HRTIM_DLLCALIBRATION_MODE_CONTINUOUS
AnnaBridge 163:e59c8e839560 2519 * @param Period This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2520 * @arg @ref LL_HRTIM_DLLCALIBRATION_RATE_7300
AnnaBridge 163:e59c8e839560 2521 * @arg @ref LL_HRTIM_DLLCALIBRATION_RATE_910
AnnaBridge 163:e59c8e839560 2522 * @arg @ref LL_HRTIM_DLLCALIBRATION_RATE_114
AnnaBridge 163:e59c8e839560 2523 * @arg @ref LL_HRTIM_DLLCALIBRATION_RATE_14
AnnaBridge 163:e59c8e839560 2524 * @retval None
AnnaBridge 163:e59c8e839560 2525 */
AnnaBridge 163:e59c8e839560 2526 __STATIC_INLINE void LL_HRTIM_ConfigDLLCalibration(HRTIM_TypeDef *HRTIMx, uint32_t Mode, uint32_t Period)
AnnaBridge 163:e59c8e839560 2527 {
AnnaBridge 163:e59c8e839560 2528 MODIFY_REG(HRTIMx->sCommonRegs.DLLCR, (HRTIM_DLLCR_CALEN | HRTIM_DLLCR_CALRTE), (Mode | Period));
AnnaBridge 163:e59c8e839560 2529 }
AnnaBridge 163:e59c8e839560 2530
AnnaBridge 163:e59c8e839560 2531 /**
AnnaBridge 163:e59c8e839560 2532 * @brief Launch DLL calibration
AnnaBridge 163:e59c8e839560 2533 * @rmtoll DLLCR CAL LL_HRTIM_StartDLLCalibration
AnnaBridge 163:e59c8e839560 2534 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2535 * @retval None
AnnaBridge 163:e59c8e839560 2536 */
AnnaBridge 163:e59c8e839560 2537 __STATIC_INLINE void LL_HRTIM_StartDLLCalibration(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 2538 {
AnnaBridge 163:e59c8e839560 2539 SET_BIT(HRTIMx->sCommonRegs.DLLCR, HRTIM_DLLCR_CAL);
AnnaBridge 163:e59c8e839560 2540 }
AnnaBridge 163:e59c8e839560 2541
AnnaBridge 163:e59c8e839560 2542 /**
AnnaBridge 163:e59c8e839560 2543 * @}
AnnaBridge 163:e59c8e839560 2544 */
AnnaBridge 163:e59c8e839560 2545
AnnaBridge 163:e59c8e839560 2546 /** @defgroup HRTIM_EF_HRTIM_Timer_Control HRTIM_Timer_Control
AnnaBridge 163:e59c8e839560 2547 * @{
AnnaBridge 163:e59c8e839560 2548 */
AnnaBridge 163:e59c8e839560 2549
AnnaBridge 163:e59c8e839560 2550 /**
AnnaBridge 163:e59c8e839560 2551 * @brief Enable timer(s) counter.
AnnaBridge 163:e59c8e839560 2552 * @rmtoll MDIER TECEN LL_HRTIM_TIM_CounterEnable\n
AnnaBridge 163:e59c8e839560 2553 * MDIER TDCEN LL_HRTIM_TIM_CounterEnable\n
AnnaBridge 163:e59c8e839560 2554 * MDIER TCCEN LL_HRTIM_TIM_CounterEnable\n
AnnaBridge 163:e59c8e839560 2555 * MDIER TBCEN LL_HRTIM_TIM_CounterEnable\n
AnnaBridge 163:e59c8e839560 2556 * MDIER TACEN LL_HRTIM_TIM_CounterEnable\n
AnnaBridge 163:e59c8e839560 2557 * MDIER MCEN LL_HRTIM_TIM_CounterEnable
AnnaBridge 163:e59c8e839560 2558 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2559 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 2560 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2561 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2562 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2563 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2564 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2565 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2566 * @retval None
AnnaBridge 163:e59c8e839560 2567 */
AnnaBridge 163:e59c8e839560 2568 __STATIC_INLINE void LL_HRTIM_TIM_CounterEnable(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 2569 {
AnnaBridge 163:e59c8e839560 2570 SET_BIT(HRTIMx->sMasterRegs.MCR, Timers);
AnnaBridge 163:e59c8e839560 2571 }
AnnaBridge 163:e59c8e839560 2572
AnnaBridge 163:e59c8e839560 2573 /**
AnnaBridge 163:e59c8e839560 2574 * @brief Disable timer(s) counter.
AnnaBridge 163:e59c8e839560 2575 * @rmtoll MDIER TECEN LL_HRTIM_TIM_CounterDisable\n
AnnaBridge 163:e59c8e839560 2576 * MDIER TDCEN LL_HRTIM_TIM_CounterDisable\n
AnnaBridge 163:e59c8e839560 2577 * MDIER TCCEN LL_HRTIM_TIM_CounterDisable\n
AnnaBridge 163:e59c8e839560 2578 * MDIER TBCEN LL_HRTIM_TIM_CounterDisable\n
AnnaBridge 163:e59c8e839560 2579 * MDIER TACEN LL_HRTIM_TIM_CounterDisable\n
AnnaBridge 163:e59c8e839560 2580 * MDIER MCEN LL_HRTIM_TIM_CounterDisable
AnnaBridge 163:e59c8e839560 2581 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2582 * @param Timers This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 2583 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2584 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2585 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2586 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2587 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2588 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2589 * @retval None
AnnaBridge 163:e59c8e839560 2590 */
AnnaBridge 163:e59c8e839560 2591 __STATIC_INLINE void LL_HRTIM_TIM_CounterDisable(HRTIM_TypeDef *HRTIMx, uint32_t Timers)
AnnaBridge 163:e59c8e839560 2592 {
AnnaBridge 163:e59c8e839560 2593 CLEAR_BIT(HRTIMx->sMasterRegs.MCR, Timers);
AnnaBridge 163:e59c8e839560 2594 }
AnnaBridge 163:e59c8e839560 2595
AnnaBridge 163:e59c8e839560 2596 /**
AnnaBridge 163:e59c8e839560 2597 * @brief Indicate whether the timer counter is enabled.
AnnaBridge 163:e59c8e839560 2598 * @rmtoll MDIER TECEN LL_HRTIM_TIM_IsCounterEnabled\n
AnnaBridge 163:e59c8e839560 2599 * MDIER TDCEN LL_HRTIM_TIM_IsCounterEnabled\n
AnnaBridge 163:e59c8e839560 2600 * MDIER TCCEN LL_HRTIM_TIM_IsCounterEnabled\n
AnnaBridge 163:e59c8e839560 2601 * MDIER TBCEN LL_HRTIM_TIM_IsCounterEnabled\n
AnnaBridge 163:e59c8e839560 2602 * MDIER TACEN LL_HRTIM_TIM_IsCounterEnabled\n
AnnaBridge 163:e59c8e839560 2603 * MDIER MCEN LL_HRTIM_TIM_IsCounterEnabled
AnnaBridge 163:e59c8e839560 2604 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2605 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2606 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2607 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2608 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2609 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2610 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2611 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2612 * @retval State of MCEN or TxCEN bit HRTIM_MCR register (1 or 0).
AnnaBridge 163:e59c8e839560 2613 */
AnnaBridge 163:e59c8e839560 2614 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsCounterEnabled(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2615 {
AnnaBridge 163:e59c8e839560 2616 return (READ_BIT(HRTIMx->sMasterRegs.MCR, Timer) == (Timer));
AnnaBridge 163:e59c8e839560 2617 }
AnnaBridge 163:e59c8e839560 2618
AnnaBridge 163:e59c8e839560 2619 /**
AnnaBridge 163:e59c8e839560 2620 * @brief Set the timer clock prescaler ratio.
AnnaBridge 163:e59c8e839560 2621 * @rmtoll MCR CKPSC LL_HRTIM_TIM_SetPrescaler\n
AnnaBridge 163:e59c8e839560 2622 * TIMxCR CKPSC LL_HRTIM_TIM_SetPrescaler
AnnaBridge 163:e59c8e839560 2623 * @note The counter clock equivalent frequency (CK_CNT) is equal to fHRCK / 2^CKPSC[2:0].
AnnaBridge 163:e59c8e839560 2624 * @note The prescaling ratio cannot be modified once the timer counter is enabled.
AnnaBridge 163:e59c8e839560 2625 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2626 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2627 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2628 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2629 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2630 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2631 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2632 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2633 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2634 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL32
AnnaBridge 163:e59c8e839560 2635 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL16
AnnaBridge 163:e59c8e839560 2636 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL8
AnnaBridge 163:e59c8e839560 2637 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL4
AnnaBridge 163:e59c8e839560 2638 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL2
AnnaBridge 163:e59c8e839560 2639 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV1
AnnaBridge 163:e59c8e839560 2640 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV2
AnnaBridge 163:e59c8e839560 2641 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV4
AnnaBridge 163:e59c8e839560 2642 * @retval None
AnnaBridge 163:e59c8e839560 2643 */
AnnaBridge 163:e59c8e839560 2644 __STATIC_INLINE void LL_HRTIM_TIM_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 2645 {
AnnaBridge 163:e59c8e839560 2646 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2647 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2648 MODIFY_REG(*pReg, HRTIM_MCR_CK_PSC, Prescaler);
AnnaBridge 163:e59c8e839560 2649 }
AnnaBridge 163:e59c8e839560 2650
AnnaBridge 163:e59c8e839560 2651 /**
AnnaBridge 163:e59c8e839560 2652 * @brief Get the timer clock prescaler ratio
AnnaBridge 163:e59c8e839560 2653 * @rmtoll MCR CKPSC LL_HRTIM_TIM_GetPrescaler\n
AnnaBridge 163:e59c8e839560 2654 * TIMxCR CKPSC LL_HRTIM_TIM_GetPrescaler
AnnaBridge 163:e59c8e839560 2655 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2656 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2657 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2658 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2659 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2660 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2661 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2662 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2663 * @retval Prescaler Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2664 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL32
AnnaBridge 163:e59c8e839560 2665 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL16
AnnaBridge 163:e59c8e839560 2666 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL8
AnnaBridge 163:e59c8e839560 2667 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL4
AnnaBridge 163:e59c8e839560 2668 * @arg @ref LL_HRTIM_PRESCALERRATIO_MUL2
AnnaBridge 163:e59c8e839560 2669 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV1
AnnaBridge 163:e59c8e839560 2670 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV2
AnnaBridge 163:e59c8e839560 2671 * @arg @ref LL_HRTIM_PRESCALERRATIO_DIV4
AnnaBridge 163:e59c8e839560 2672 */
AnnaBridge 163:e59c8e839560 2673 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2674 {
AnnaBridge 163:e59c8e839560 2675 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2676 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2677 return (READ_BIT(*pReg, HRTIM_MCR_CK_PSC));
AnnaBridge 163:e59c8e839560 2678 }
AnnaBridge 163:e59c8e839560 2679
AnnaBridge 163:e59c8e839560 2680 /**
AnnaBridge 163:e59c8e839560 2681 * @brief Set the counter operating mode mode (single-shot, continuous or re-triggerable).
AnnaBridge 163:e59c8e839560 2682 * @rmtoll MCR CONT LL_HRTIM_TIM_SetCounterMode\n
AnnaBridge 163:e59c8e839560 2683 * MCR RETRIG LL_HRTIM_TIM_SetCounterMode\n
AnnaBridge 163:e59c8e839560 2684 * TIMxCR CONT LL_HRTIM_TIM_SetCounterMode\n
AnnaBridge 163:e59c8e839560 2685 * TIMxCR RETRIG LL_HRTIM_TIM_SetCounterMode
AnnaBridge 163:e59c8e839560 2686 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2687 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2688 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2689 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2690 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2691 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2692 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2693 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2694 * @param Mode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2695 * @arg @ref LL_HRTIM_MODE_CONTINUOUS
AnnaBridge 163:e59c8e839560 2696 * @arg @ref LL_HRTIM_MODE_SINGLESHOT
AnnaBridge 163:e59c8e839560 2697 * @arg @ref LL_HRTIM_MODE_RETRIGGERABLE
AnnaBridge 163:e59c8e839560 2698 * @retval None
AnnaBridge 163:e59c8e839560 2699 */
AnnaBridge 163:e59c8e839560 2700 __STATIC_INLINE void LL_HRTIM_TIM_SetCounterMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Mode)
AnnaBridge 163:e59c8e839560 2701 {
AnnaBridge 163:e59c8e839560 2702 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2703 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2704 MODIFY_REG(*pReg, (HRTIM_TIMCR_RETRIG | HRTIM_MCR_CONT), Mode);
AnnaBridge 163:e59c8e839560 2705 }
AnnaBridge 163:e59c8e839560 2706
AnnaBridge 163:e59c8e839560 2707 /**
AnnaBridge 163:e59c8e839560 2708 * @brief Get the counter operating mode mode
AnnaBridge 163:e59c8e839560 2709 * @rmtoll MCR CONT LL_HRTIM_TIM_GetCounterMode\n
AnnaBridge 163:e59c8e839560 2710 * MCR RETRIG LL_HRTIM_TIM_GetCounterMode\n
AnnaBridge 163:e59c8e839560 2711 * TIMxCR CONT LL_HRTIM_TIM_GetCounterMode\n
AnnaBridge 163:e59c8e839560 2712 * TIMxCR RETRIG LL_HRTIM_TIM_GetCounterMode
AnnaBridge 163:e59c8e839560 2713 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2714 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2715 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2716 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2717 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2718 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2719 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2720 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2721 * @retval Mode Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2722 * @arg @ref LL_HRTIM_MODE_CONTINUOUS
AnnaBridge 163:e59c8e839560 2723 * @arg @ref LL_HRTIM_MODE_SINGLESHOT
AnnaBridge 163:e59c8e839560 2724 * @arg @ref LL_HRTIM_MODE_RETRIGGERABLE
AnnaBridge 163:e59c8e839560 2725 */
AnnaBridge 163:e59c8e839560 2726 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCounterMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2727 {
AnnaBridge 163:e59c8e839560 2728 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2729 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2730 return (READ_BIT(*pReg, (HRTIM_MCR_RETRIG | HRTIM_MCR_CONT)));
AnnaBridge 163:e59c8e839560 2731 }
AnnaBridge 163:e59c8e839560 2732
AnnaBridge 163:e59c8e839560 2733 /**
AnnaBridge 163:e59c8e839560 2734 * @brief Enable the half duty-cycle mode.
AnnaBridge 163:e59c8e839560 2735 * @rmtoll MCR HALF LL_HRTIM_TIM_EnableHalfMode\n
AnnaBridge 163:e59c8e839560 2736 * TIMxCR HALF LL_HRTIM_TIM_EnableHalfMode
AnnaBridge 163:e59c8e839560 2737 * @note When the half mode is enabled, HRTIM_MCMP1R (or HRTIM_CMP1xR)
AnnaBridge 163:e59c8e839560 2738 * active register is automatically updated with HRTIM_MPER/2
AnnaBridge 163:e59c8e839560 2739 * (or HRTIM_PERxR/2) value when HRTIM_MPER (or HRTIM_PERxR) register is written.
AnnaBridge 163:e59c8e839560 2740 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2741 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2742 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2743 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2744 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2745 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2746 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2747 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2748 * @retval None
AnnaBridge 163:e59c8e839560 2749 */
AnnaBridge 163:e59c8e839560 2750 __STATIC_INLINE void LL_HRTIM_TIM_EnableHalfMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2751 {
AnnaBridge 163:e59c8e839560 2752 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2753 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2754 SET_BIT(*pReg, HRTIM_MCR_HALF);
AnnaBridge 163:e59c8e839560 2755 }
AnnaBridge 163:e59c8e839560 2756
AnnaBridge 163:e59c8e839560 2757 /**
AnnaBridge 163:e59c8e839560 2758 * @brief Disable the half duty-cycle mode.
AnnaBridge 163:e59c8e839560 2759 * @rmtoll MCR HALF LL_HRTIM_TIM_DisableHalfMode\n
AnnaBridge 163:e59c8e839560 2760 * TIMxCR HALF LL_HRTIM_TIM_DisableHalfMode
AnnaBridge 163:e59c8e839560 2761 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2762 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2763 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2764 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2765 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2766 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2767 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2768 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2769 * @retval None
AnnaBridge 163:e59c8e839560 2770 */
AnnaBridge 163:e59c8e839560 2771 __STATIC_INLINE void LL_HRTIM_TIM_DisableHalfMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2772 {
AnnaBridge 163:e59c8e839560 2773 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2774 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2775 CLEAR_BIT(*pReg, HRTIM_MCR_HALF);
AnnaBridge 163:e59c8e839560 2776 }
AnnaBridge 163:e59c8e839560 2777
AnnaBridge 163:e59c8e839560 2778 /**
AnnaBridge 163:e59c8e839560 2779 * @brief Indicate whether half duty-cycle mode is enabled for a given timer.
AnnaBridge 163:e59c8e839560 2780 * @rmtoll MCR HALF LL_HRTIM_TIM_IsEnabledHalfMode\n
AnnaBridge 163:e59c8e839560 2781 * TIMxCR HALF LL_HRTIM_TIM_IsEnabledHalfMode
AnnaBridge 163:e59c8e839560 2782 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2783 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2784 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2785 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2786 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2787 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2788 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2789 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2790 * @retval State of HALF bit to 1 in HRTIM_MCR or HRTIM_TIMxCR register (1 or 0).
AnnaBridge 163:e59c8e839560 2791 */
AnnaBridge 163:e59c8e839560 2792 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledHalfMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2793 {
AnnaBridge 163:e59c8e839560 2794 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2795 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2796 return (READ_BIT(*pReg, HRTIM_MCR_HALF) == HRTIM_MCR_HALF);
AnnaBridge 163:e59c8e839560 2797 }
AnnaBridge 163:e59c8e839560 2798
AnnaBridge 163:e59c8e839560 2799 /**
AnnaBridge 163:e59c8e839560 2800 * @brief Enable the timer start when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2801 * @rmtoll MCR SYNCSTRTM LL_HRTIM_TIM_EnableStartOnSync\n
AnnaBridge 163:e59c8e839560 2802 * TIMxCR SYNSTRTA LL_HRTIM_TIM_EnableStartOnSync
AnnaBridge 163:e59c8e839560 2803 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2804 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2805 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2806 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2807 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2808 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2809 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2810 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2811 * @retval None
AnnaBridge 163:e59c8e839560 2812 */
AnnaBridge 163:e59c8e839560 2813 __STATIC_INLINE void LL_HRTIM_TIM_EnableStartOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2814 {
AnnaBridge 163:e59c8e839560 2815 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2816 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2817 SET_BIT(*pReg, HRTIM_MCR_SYNCSTRTM);
AnnaBridge 163:e59c8e839560 2818 }
AnnaBridge 163:e59c8e839560 2819
AnnaBridge 163:e59c8e839560 2820 /**
AnnaBridge 163:e59c8e839560 2821 * @brief Disable the timer start when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2822 * @rmtoll MCR SYNCSTRTM LL_HRTIM_TIM_DisableStartOnSync\n
AnnaBridge 163:e59c8e839560 2823 * TIMxCR SYNSTRTA LL_HRTIM_TIM_DisableStartOnSync
AnnaBridge 163:e59c8e839560 2824 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2825 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2826 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2827 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2828 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2829 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2830 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2831 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2832 * @retval None
AnnaBridge 163:e59c8e839560 2833 */
AnnaBridge 163:e59c8e839560 2834 __STATIC_INLINE void LL_HRTIM_TIM_DisableStartOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2835 {
AnnaBridge 163:e59c8e839560 2836 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2837 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2838 CLEAR_BIT(*pReg, HRTIM_MCR_SYNCSTRTM);
AnnaBridge 163:e59c8e839560 2839 }
AnnaBridge 163:e59c8e839560 2840
AnnaBridge 163:e59c8e839560 2841 /**
AnnaBridge 163:e59c8e839560 2842 * @brief Indicate whether the timer start when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2843 * @rmtoll MCR SYNCSTRTM LL_HRTIM_TIM_IsEnabledStartOnSync\n
AnnaBridge 163:e59c8e839560 2844 * TIMxCR SYNSTRTA LL_HRTIM_TIM_IsEnabledStartOnSync
AnnaBridge 163:e59c8e839560 2845 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2846 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2847 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2848 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2849 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2850 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2851 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2852 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2853 * @retval State of SYNCSTRTx bit in HRTIM_MCR or HRTIM_TIMxCR register (1 or 0).
AnnaBridge 163:e59c8e839560 2854 */
AnnaBridge 163:e59c8e839560 2855 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledStartOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2856 {
AnnaBridge 163:e59c8e839560 2857 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2858 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2859 return (READ_BIT(*pReg, HRTIM_MCR_SYNCSTRTM) == HRTIM_MCR_SYNCSTRTM);
AnnaBridge 163:e59c8e839560 2860 }
AnnaBridge 163:e59c8e839560 2861
AnnaBridge 163:e59c8e839560 2862 /**
AnnaBridge 163:e59c8e839560 2863 * @brief Enable the timer reset when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2864 * @rmtoll MCR SYNCRSTM LL_HRTIM_TIM_EnableResetOnSync\n
AnnaBridge 163:e59c8e839560 2865 * TIMxCR SYNCRSTA LL_HRTIM_TIM_EnableResetOnSync
AnnaBridge 163:e59c8e839560 2866 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2867 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2868 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2869 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2870 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2871 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2872 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2873 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2874 * @retval None
AnnaBridge 163:e59c8e839560 2875 */
AnnaBridge 163:e59c8e839560 2876 __STATIC_INLINE void LL_HRTIM_TIM_EnableResetOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2877 {
AnnaBridge 163:e59c8e839560 2878 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2879 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2880 SET_BIT(*pReg, HRTIM_MCR_SYNCRSTM);
AnnaBridge 163:e59c8e839560 2881 }
AnnaBridge 163:e59c8e839560 2882
AnnaBridge 163:e59c8e839560 2883 /**
AnnaBridge 163:e59c8e839560 2884 * @brief Disable the timer reset when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2885 * @rmtoll MCR SYNCRSTM LL_HRTIM_TIM_DisableResetOnSync\n
AnnaBridge 163:e59c8e839560 2886 * TIMxCR SYNCRSTA LL_HRTIM_TIM_DisableResetOnSync
AnnaBridge 163:e59c8e839560 2887 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2888 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2889 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2890 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2891 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2892 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2893 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2894 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2895 * @retval None
AnnaBridge 163:e59c8e839560 2896 */
AnnaBridge 163:e59c8e839560 2897 __STATIC_INLINE void LL_HRTIM_TIM_DisableResetOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2898 {
AnnaBridge 163:e59c8e839560 2899 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2900 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2901 CLEAR_BIT(*pReg, HRTIM_MCR_SYNCRSTM);
AnnaBridge 163:e59c8e839560 2902 }
AnnaBridge 163:e59c8e839560 2903
AnnaBridge 163:e59c8e839560 2904 /**
AnnaBridge 163:e59c8e839560 2905 * @brief Indicate whether the timer reset when receiving a synchronization input event.
AnnaBridge 163:e59c8e839560 2906 * @rmtoll MCR SYNCRSTM LL_HRTIM_TIM_IsEnabledResetOnSync\n
AnnaBridge 163:e59c8e839560 2907 * TIMxCR SYNCRSTA LL_HRTIM_TIM_IsEnabledResetOnSync
AnnaBridge 163:e59c8e839560 2908 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2909 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2910 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2911 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2912 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2913 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2914 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2915 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2916 * @retval None
AnnaBridge 163:e59c8e839560 2917 */
AnnaBridge 163:e59c8e839560 2918 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledResetOnSync(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2919 {
AnnaBridge 163:e59c8e839560 2920 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2921 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2922 return (READ_BIT(*pReg, HRTIM_MCR_SYNCRSTM) == HRTIM_MCR_SYNCRSTM);
AnnaBridge 163:e59c8e839560 2923 }
AnnaBridge 163:e59c8e839560 2924
AnnaBridge 163:e59c8e839560 2925 /**
AnnaBridge 163:e59c8e839560 2926 * @brief Set the HRTIM output the DAC synchronization event is generated on (DACtrigOutx).
AnnaBridge 163:e59c8e839560 2927 * @rmtoll MCR DACSYNC LL_HRTIM_TIM_SetDACTrig\n
AnnaBridge 163:e59c8e839560 2928 * TIMxCR DACSYNC LL_HRTIM_TIM_SetDACTrig
AnnaBridge 163:e59c8e839560 2929 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2930 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2931 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2932 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2933 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2934 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2935 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2936 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2937 * @param DACTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2938 * @arg @ref LL_HRTIM_DACTRIG_NONE
AnnaBridge 163:e59c8e839560 2939 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_1
AnnaBridge 163:e59c8e839560 2940 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_2
AnnaBridge 163:e59c8e839560 2941 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_3
AnnaBridge 163:e59c8e839560 2942 * @retval None
AnnaBridge 163:e59c8e839560 2943 */
AnnaBridge 163:e59c8e839560 2944 __STATIC_INLINE void LL_HRTIM_TIM_SetDACTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t DACTrig)
AnnaBridge 163:e59c8e839560 2945 {
AnnaBridge 163:e59c8e839560 2946 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2947 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2948 MODIFY_REG(*pReg, HRTIM_MCR_DACSYNC, DACTrig);
AnnaBridge 163:e59c8e839560 2949 }
AnnaBridge 163:e59c8e839560 2950
AnnaBridge 163:e59c8e839560 2951 /**
AnnaBridge 163:e59c8e839560 2952 * @brief Get the HRTIM output the DAC synchronization event is generated on (DACtrigOutx).
AnnaBridge 163:e59c8e839560 2953 * @rmtoll MCR DACSYNC LL_HRTIM_TIM_GetDACTrig\n
AnnaBridge 163:e59c8e839560 2954 * TIMxCR DACSYNC LL_HRTIM_TIM_GetDACTrig
AnnaBridge 163:e59c8e839560 2955 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2956 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2957 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2958 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2959 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2960 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2961 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2962 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2963 * @retval DACTrig Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 2964 * @arg @ref LL_HRTIM_DACTRIG_NONE
AnnaBridge 163:e59c8e839560 2965 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_1
AnnaBridge 163:e59c8e839560 2966 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_2
AnnaBridge 163:e59c8e839560 2967 * @arg @ref LL_HRTIM_DACTRIG_DACTRIGOUT_3
AnnaBridge 163:e59c8e839560 2968 */
AnnaBridge 163:e59c8e839560 2969 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetDACTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2970 {
AnnaBridge 163:e59c8e839560 2971 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2972 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2973 return (READ_BIT(*pReg, HRTIM_MCR_DACSYNC));
AnnaBridge 163:e59c8e839560 2974 }
AnnaBridge 163:e59c8e839560 2975
AnnaBridge 163:e59c8e839560 2976 /**
AnnaBridge 163:e59c8e839560 2977 * @brief Enable the timer registers preload mechanism.
AnnaBridge 163:e59c8e839560 2978 * @rmtoll MCR PREEN LL_HRTIM_TIM_EnablePreload\n
AnnaBridge 163:e59c8e839560 2979 * TIMxCR PREEN LL_HRTIM_TIM_EnablePreload
AnnaBridge 163:e59c8e839560 2980 * @note When the preload mode is enabled, accessed registers are shadow registers.
AnnaBridge 163:e59c8e839560 2981 * Their content is transferred into the active register after an update request,
AnnaBridge 163:e59c8e839560 2982 * either software or synchronized with an event.
AnnaBridge 163:e59c8e839560 2983 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 2984 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 2985 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 2986 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 2987 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 2988 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 2989 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 2990 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 2991 * @retval None
AnnaBridge 163:e59c8e839560 2992 */
AnnaBridge 163:e59c8e839560 2993 __STATIC_INLINE void LL_HRTIM_TIM_EnablePreload(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 2994 {
AnnaBridge 163:e59c8e839560 2995 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 2996 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 2997 SET_BIT(*pReg, HRTIM_MCR_PREEN);
AnnaBridge 163:e59c8e839560 2998 }
AnnaBridge 163:e59c8e839560 2999
AnnaBridge 163:e59c8e839560 3000 /**
AnnaBridge 163:e59c8e839560 3001 * @brief Disable the timer registers preload mechanism.
AnnaBridge 163:e59c8e839560 3002 * @rmtoll MCR PREEN LL_HRTIM_TIM_DisablePreload\n
AnnaBridge 163:e59c8e839560 3003 * TIMxCR PREEN LL_HRTIM_TIM_DisablePreload
AnnaBridge 163:e59c8e839560 3004 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3005 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3006 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3007 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3008 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3009 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3010 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3011 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3012 * @retval None
AnnaBridge 163:e59c8e839560 3013 */
AnnaBridge 163:e59c8e839560 3014 __STATIC_INLINE void LL_HRTIM_TIM_DisablePreload(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3015 {
AnnaBridge 163:e59c8e839560 3016 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3017 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3018 CLEAR_BIT(*pReg, HRTIM_MCR_PREEN);
AnnaBridge 163:e59c8e839560 3019 }
AnnaBridge 163:e59c8e839560 3020
AnnaBridge 163:e59c8e839560 3021 /**
AnnaBridge 163:e59c8e839560 3022 * @brief Indicate whether the timer registers preload mechanism is enabled.
AnnaBridge 163:e59c8e839560 3023 * @rmtoll MCR PREEN LL_HRTIM_TIM_IsEnabledPreload\n
AnnaBridge 163:e59c8e839560 3024 * TIMxCR PREEN LL_HRTIM_TIM_IsEnabledPreload
AnnaBridge 163:e59c8e839560 3025 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3026 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3027 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3028 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3029 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3030 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3031 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3032 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3033 * @retval State of PREEN bit in HRTIM_MCR or HRTIM_TIMxCR register (1 or 0).
AnnaBridge 163:e59c8e839560 3034 */
AnnaBridge 163:e59c8e839560 3035 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledPreload(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3036 {
AnnaBridge 163:e59c8e839560 3037 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3038 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3039 return (READ_BIT(*pReg, HRTIM_MCR_PREEN) == HRTIM_MCR_PREEN);
AnnaBridge 163:e59c8e839560 3040 }
AnnaBridge 163:e59c8e839560 3041
AnnaBridge 163:e59c8e839560 3042 /**
AnnaBridge 163:e59c8e839560 3043 * @brief Set the timer register update trigger.
AnnaBridge 163:e59c8e839560 3044 * @rmtoll MCR MREPU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3045 * TIMxCR TAU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3046 * TIMxCR TBU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3047 * TIMxCR TCU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3048 * TIMxCR TDU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3049 * TIMxCR TEU LL_HRTIM_TIM_SetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3050 * TIMxCR MSTU LL_HRTIM_TIM_SetUpdateTrig
AnnaBridge 163:e59c8e839560 3051 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3052 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3053 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3054 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3055 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3056 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3057 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3058 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3059 * @param UpdateTrig This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3060 *
AnnaBridge 163:e59c8e839560 3061 * For the master timer this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3062 * @arg @ref LL_HRTIM_UPDATETRIG_NONE
AnnaBridge 163:e59c8e839560 3063 * @arg @ref LL_HRTIM_UPDATETRIG_REPETITION
AnnaBridge 163:e59c8e839560 3064 *
AnnaBridge 163:e59c8e839560 3065 * For timer A..E this parameter can be:
AnnaBridge 163:e59c8e839560 3066 * @arg @ref LL_HRTIM_UPDATETRIG_NONE
AnnaBridge 163:e59c8e839560 3067 * or a combination of the following values:
AnnaBridge 163:e59c8e839560 3068 * @arg @ref LL_HRTIM_UPDATETRIG_MASTER
AnnaBridge 163:e59c8e839560 3069 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_A
AnnaBridge 163:e59c8e839560 3070 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_B
AnnaBridge 163:e59c8e839560 3071 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_C
AnnaBridge 163:e59c8e839560 3072 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_D
AnnaBridge 163:e59c8e839560 3073 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_E
AnnaBridge 163:e59c8e839560 3074 * @arg @ref LL_HRTIM_UPDATETRIG_REPETITION
AnnaBridge 163:e59c8e839560 3075 * @arg @ref LL_HRTIM_UPDATETRIG_RESET
AnnaBridge 163:e59c8e839560 3076 * @retval None
AnnaBridge 163:e59c8e839560 3077 */
AnnaBridge 163:e59c8e839560 3078 __STATIC_INLINE void LL_HRTIM_TIM_SetUpdateTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t UpdateTrig)
AnnaBridge 163:e59c8e839560 3079 {
AnnaBridge 163:e59c8e839560 3080 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3081 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3082 MODIFY_REG(*pReg, REG_MASK_TAB_UPDATETRIG[iTimer], UpdateTrig << REG_SHIFT_TAB_UPDATETRIG[iTimer]);
AnnaBridge 163:e59c8e839560 3083 }
AnnaBridge 163:e59c8e839560 3084
AnnaBridge 163:e59c8e839560 3085 /**
AnnaBridge 163:e59c8e839560 3086 * @brief Set the timer register update trigger.
AnnaBridge 163:e59c8e839560 3087 * @rmtoll MCR MREPU LL_HRTIM_TIM_GetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3088 * TIMxCR TBU LL_HRTIM_TIM_GetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3089 * TIMxCR TCU LL_HRTIM_TIM_GetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3090 * TIMxCR TDU LL_HRTIM_TIM_GetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3091 * TIMxCR TEU LL_HRTIM_TIM_GetUpdateTrig\n
AnnaBridge 163:e59c8e839560 3092 * TIMxCR MSTU LL_HRTIM_TIM_GetUpdateTrig
AnnaBridge 163:e59c8e839560 3093 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3094 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3095 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3096 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3097 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3098 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3099 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3100 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3101 * @retval UpdateTrig Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 3102 *
AnnaBridge 163:e59c8e839560 3103 * For the master timer this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3104 * @arg @ref LL_HRTIM_UPDATETRIG_NONE
AnnaBridge 163:e59c8e839560 3105 * @arg @ref LL_HRTIM_UPDATETRIG_REPETITION
AnnaBridge 163:e59c8e839560 3106 *
AnnaBridge 163:e59c8e839560 3107 * For timer A..E this parameter can be:
AnnaBridge 163:e59c8e839560 3108 * @arg @ref LL_HRTIM_UPDATETRIG_NONE
AnnaBridge 163:e59c8e839560 3109 * or a combination of the following values:
AnnaBridge 163:e59c8e839560 3110 * @arg @ref LL_HRTIM_UPDATETRIG_MASTER
AnnaBridge 163:e59c8e839560 3111 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_A
AnnaBridge 163:e59c8e839560 3112 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_B
AnnaBridge 163:e59c8e839560 3113 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_C
AnnaBridge 163:e59c8e839560 3114 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_D
AnnaBridge 163:e59c8e839560 3115 * @arg @ref LL_HRTIM_UPDATETRIG_TIMER_E
AnnaBridge 163:e59c8e839560 3116 * @arg @ref LL_HRTIM_UPDATETRIG_REPETITION
AnnaBridge 163:e59c8e839560 3117 * @arg @ref LL_HRTIM_UPDATETRIG_RESET
AnnaBridge 163:e59c8e839560 3118 */
AnnaBridge 163:e59c8e839560 3119 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetUpdateTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3120 {
AnnaBridge 163:e59c8e839560 3121 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3122 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3123 return (READ_BIT(*pReg, REG_MASK_TAB_UPDATETRIG[iTimer]) >> REG_SHIFT_TAB_UPDATETRIG[iTimer]);
AnnaBridge 163:e59c8e839560 3124 }
AnnaBridge 163:e59c8e839560 3125
AnnaBridge 163:e59c8e839560 3126 /**
AnnaBridge 163:e59c8e839560 3127 * @brief Set the timer registers update condition (how the registers update occurs relatively to the burst DMA transaction or an external update request received on one of the update enable inputs (UPD_EN[3:1])).
AnnaBridge 163:e59c8e839560 3128 * @rmtoll MCR BRSTDMA LL_HRTIM_TIM_SetUpdateGating\n
AnnaBridge 163:e59c8e839560 3129 * TIMxCR UPDGAT LL_HRTIM_TIM_SetUpdateGating
AnnaBridge 163:e59c8e839560 3130 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3131 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3132 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3133 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3134 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3135 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3136 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3137 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3138 * @param UpdateGating This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3139 *
AnnaBridge 163:e59c8e839560 3140 * For the master timer this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3141 * @arg @ref LL_HRTIM_UPDATEGATING_INDEPENDENT
AnnaBridge 163:e59c8e839560 3142 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST
AnnaBridge 163:e59c8e839560 3143 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST_UPDATE
AnnaBridge 163:e59c8e839560 3144 *
AnnaBridge 163:e59c8e839560 3145 * For the timer A..E this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3146 * @arg @ref LL_HRTIM_UPDATEGATING_INDEPENDENT
AnnaBridge 163:e59c8e839560 3147 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST
AnnaBridge 163:e59c8e839560 3148 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST_UPDATE
AnnaBridge 163:e59c8e839560 3149 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN1
AnnaBridge 163:e59c8e839560 3150 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN2
AnnaBridge 163:e59c8e839560 3151 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN3
AnnaBridge 163:e59c8e839560 3152 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN1_UPDATE
AnnaBridge 163:e59c8e839560 3153 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN2_UPDATE
AnnaBridge 163:e59c8e839560 3154 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN3_UPDATE
AnnaBridge 163:e59c8e839560 3155 * @retval None
AnnaBridge 163:e59c8e839560 3156 */
AnnaBridge 163:e59c8e839560 3157 __STATIC_INLINE void LL_HRTIM_TIM_SetUpdateGating(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t UpdateGating)
AnnaBridge 163:e59c8e839560 3158 {
AnnaBridge 163:e59c8e839560 3159 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3160 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3161 MODIFY_REG(*pReg, REG_MASK_TAB_UPDATEGATING[iTimer], (UpdateGating << REG_SHIFT_TAB_UPDATEGATING[iTimer]));
AnnaBridge 163:e59c8e839560 3162 }
AnnaBridge 163:e59c8e839560 3163
AnnaBridge 163:e59c8e839560 3164 /**
AnnaBridge 163:e59c8e839560 3165 * @brief Get the timer registers update condition.
AnnaBridge 163:e59c8e839560 3166 * @rmtoll MCR BRSTDMA LL_HRTIM_TIM_GetUpdateGating\n
AnnaBridge 163:e59c8e839560 3167 * TIMxCR UPDGAT LL_HRTIM_TIM_GetUpdateGating
AnnaBridge 163:e59c8e839560 3168 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3169 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3170 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3171 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3172 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3173 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3174 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3175 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3176 * @retval UpdateGating Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 3177 *
AnnaBridge 163:e59c8e839560 3178 * For the master timer this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3179 * @arg @ref LL_HRTIM_UPDATEGATING_INDEPENDENT
AnnaBridge 163:e59c8e839560 3180 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST
AnnaBridge 163:e59c8e839560 3181 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST_UPDATE
AnnaBridge 163:e59c8e839560 3182 *
AnnaBridge 163:e59c8e839560 3183 * For the timer A..E this parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3184 * @arg @ref LL_HRTIM_UPDATEGATING_INDEPENDENT
AnnaBridge 163:e59c8e839560 3185 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST
AnnaBridge 163:e59c8e839560 3186 * @arg @ref LL_HRTIM_UPDATEGATING_DMABURST_UPDATE
AnnaBridge 163:e59c8e839560 3187 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN1
AnnaBridge 163:e59c8e839560 3188 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN2
AnnaBridge 163:e59c8e839560 3189 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN3
AnnaBridge 163:e59c8e839560 3190 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN1_UPDATE
AnnaBridge 163:e59c8e839560 3191 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN2_UPDATE
AnnaBridge 163:e59c8e839560 3192 * @arg @ref LL_HRTIM_UPDATEGATING_UPDEN3_UPDATE
AnnaBridge 163:e59c8e839560 3193 */
AnnaBridge 163:e59c8e839560 3194 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetUpdateGating(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3195 {
AnnaBridge 163:e59c8e839560 3196 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3197 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCR) + REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3198 return (READ_BIT(*pReg, REG_MASK_TAB_UPDATEGATING[iTimer]) >> REG_SHIFT_TAB_UPDATEGATING[iTimer]);
AnnaBridge 163:e59c8e839560 3199 }
AnnaBridge 163:e59c8e839560 3200
AnnaBridge 163:e59c8e839560 3201 /**
AnnaBridge 163:e59c8e839560 3202 * @brief Enable the push-pull mode.
AnnaBridge 163:e59c8e839560 3203 * @rmtoll TIMxCR PSHPLL LL_HRTIM_TIM_EnablePushPullMode
AnnaBridge 163:e59c8e839560 3204 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3205 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3206 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3207 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3208 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3209 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3210 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3211 * @retval None
AnnaBridge 163:e59c8e839560 3212 */
AnnaBridge 163:e59c8e839560 3213 __STATIC_INLINE void LL_HRTIM_TIM_EnablePushPullMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3214 {
AnnaBridge 163:e59c8e839560 3215 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3216 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxCR) +
AnnaBridge 163:e59c8e839560 3217 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3218 SET_BIT(*pReg, HRTIM_TIMCR_PSHPLL);
AnnaBridge 163:e59c8e839560 3219 }
AnnaBridge 163:e59c8e839560 3220
AnnaBridge 163:e59c8e839560 3221 /**
AnnaBridge 163:e59c8e839560 3222 * @brief Disable the push-pull mode.
AnnaBridge 163:e59c8e839560 3223 * @rmtoll TIMxCR PSHPLL LL_HRTIM_TIM_DisablePushPullMode
AnnaBridge 163:e59c8e839560 3224 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3225 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3226 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3227 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3228 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3229 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3230 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3231 * @retval None
AnnaBridge 163:e59c8e839560 3232 */
AnnaBridge 163:e59c8e839560 3233 __STATIC_INLINE void LL_HRTIM_TIM_DisablePushPullMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3234 {
AnnaBridge 163:e59c8e839560 3235 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3236 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxCR) +
AnnaBridge 163:e59c8e839560 3237 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3238 CLEAR_BIT(*pReg, HRTIM_TIMCR_PSHPLL);
AnnaBridge 163:e59c8e839560 3239 }
AnnaBridge 163:e59c8e839560 3240
AnnaBridge 163:e59c8e839560 3241 /**
AnnaBridge 163:e59c8e839560 3242 * @brief Indicate whether the push-pull mode is enabled.
AnnaBridge 163:e59c8e839560 3243 * @rmtoll TIMxCR PSHPLL LL_HRTIM_TIM_IsEnabledPushPullMode\n
AnnaBridge 163:e59c8e839560 3244 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3245 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3246 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3247 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3248 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3249 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3250 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3251 * @retval State of PSHPLL bit in HRTIM_TIMxCR register (1 or 0).
AnnaBridge 163:e59c8e839560 3252 */
AnnaBridge 163:e59c8e839560 3253 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledPushPullMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3254 {
AnnaBridge 163:e59c8e839560 3255 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3256 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxCR) +
AnnaBridge 163:e59c8e839560 3257 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3258 return (READ_BIT(*pReg, HRTIM_TIMCR_PSHPLL) == HRTIM_TIMCR_PSHPLL);
AnnaBridge 163:e59c8e839560 3259 }
AnnaBridge 163:e59c8e839560 3260
AnnaBridge 163:e59c8e839560 3261 /**
AnnaBridge 163:e59c8e839560 3262 * @brief Set the functioning mode of the compare unit (CMP2 or CMP4 can operate in standard mode or in auto delayed mode).
AnnaBridge 163:e59c8e839560 3263 * @rmtoll TIMxCR DELCMP2 LL_HRTIM_TIM_SetCompareMode\n
AnnaBridge 163:e59c8e839560 3264 * TIMxCR DELCMP4 LL_HRTIM_TIM_SetCompareMode
AnnaBridge 163:e59c8e839560 3265 * @note In auto-delayed mode the compare match occurs independently from the timer counter value.
AnnaBridge 163:e59c8e839560 3266 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3267 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3268 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3269 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3270 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3271 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3272 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3273 * @param CompareUnit This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3274 * @arg @ref LL_HRTIM_COMPAREUNIT_2
AnnaBridge 163:e59c8e839560 3275 * @arg @ref LL_HRTIM_COMPAREUNIT_4
AnnaBridge 163:e59c8e839560 3276 * @param Mode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3277 * @arg @ref LL_HRTIM_COMPAREMODE_REGULAR
AnnaBridge 163:e59c8e839560 3278 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_NOTIMEOUT
AnnaBridge 163:e59c8e839560 3279 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_CMP1
AnnaBridge 163:e59c8e839560 3280 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_CMP3
AnnaBridge 163:e59c8e839560 3281 * @retval None
AnnaBridge 163:e59c8e839560 3282 */
AnnaBridge 163:e59c8e839560 3283 __STATIC_INLINE void LL_HRTIM_TIM_SetCompareMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareUnit,
AnnaBridge 163:e59c8e839560 3284 uint32_t Mode)
AnnaBridge 163:e59c8e839560 3285 {
AnnaBridge 163:e59c8e839560 3286 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3287 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxCR) +
AnnaBridge 163:e59c8e839560 3288 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3289 register uint32_t shift = POSITION_VAL(CompareUnit) - POSITION_VAL(LL_HRTIM_COMPAREUNIT_2);
AnnaBridge 163:e59c8e839560 3290 MODIFY_REG(* pReg, (HRTIM_TIMCR_DELCMP2 << shift), (Mode << shift));
AnnaBridge 163:e59c8e839560 3291 }
AnnaBridge 163:e59c8e839560 3292
AnnaBridge 163:e59c8e839560 3293 /**
AnnaBridge 163:e59c8e839560 3294 * @brief Get the functioning mode of the compare unit.
AnnaBridge 163:e59c8e839560 3295 * @rmtoll TIMxCR DELCMP2 LL_HRTIM_TIM_GetCompareMode\n
AnnaBridge 163:e59c8e839560 3296 * TIMxCR DELCMP4 LL_HRTIM_TIM_GetCompareMode
AnnaBridge 163:e59c8e839560 3297 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3298 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3299 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3300 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3301 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3302 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3303 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3304 * @param CompareUnit This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3305 * @arg @ref LL_HRTIM_COMPAREUNIT_2
AnnaBridge 163:e59c8e839560 3306 * @arg @ref LL_HRTIM_COMPAREUNIT_4
AnnaBridge 163:e59c8e839560 3307 * @retval Mode Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 3308 * @arg @ref LL_HRTIM_COMPAREMODE_REGULAR
AnnaBridge 163:e59c8e839560 3309 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_NOTIMEOUT
AnnaBridge 163:e59c8e839560 3310 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_CMP1
AnnaBridge 163:e59c8e839560 3311 * @arg @ref LL_HRTIM_COMPAREMODE_DELAY_CMP3
AnnaBridge 163:e59c8e839560 3312 */
AnnaBridge 163:e59c8e839560 3313 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCompareMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareUnit)
AnnaBridge 163:e59c8e839560 3314 {
AnnaBridge 163:e59c8e839560 3315 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3316 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxCR) +
AnnaBridge 163:e59c8e839560 3317 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3318 register uint32_t shift = POSITION_VAL(CompareUnit) - POSITION_VAL(LL_HRTIM_COMPAREUNIT_2);
AnnaBridge 163:e59c8e839560 3319 return (READ_BIT(*pReg, (HRTIM_TIMCR_DELCMP2 << shift)) >> shift);
AnnaBridge 163:e59c8e839560 3320 }
AnnaBridge 163:e59c8e839560 3321
AnnaBridge 163:e59c8e839560 3322 /**
AnnaBridge 163:e59c8e839560 3323 * @brief Set the timer counter value.
AnnaBridge 163:e59c8e839560 3324 * @rmtoll MCNTR MCNT LL_HRTIM_TIM_SetCounter\n
AnnaBridge 163:e59c8e839560 3325 * CNTxR CNTx LL_HRTIM_TIM_SetCounter
AnnaBridge 163:e59c8e839560 3326 * @note This function can only be called when the timer is stopped.
AnnaBridge 163:e59c8e839560 3327 * @note For HR clock prescaling ratio below 32 (CKPSC[2:0] < 5), the least
AnnaBridge 163:e59c8e839560 3328 * significant bits of the counter are not significant. They cannot be
AnnaBridge 163:e59c8e839560 3329 * written and return 0 when read.
AnnaBridge 163:e59c8e839560 3330 * @note The timer behavior is not guaranteed if the counter value is set above
AnnaBridge 163:e59c8e839560 3331 * the period.
AnnaBridge 163:e59c8e839560 3332 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3333 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3334 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3335 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3336 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3337 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3338 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3339 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3340 * @param Counter Value between 0 and 0xFFFF
AnnaBridge 163:e59c8e839560 3341 * @retval None
AnnaBridge 163:e59c8e839560 3342 */
AnnaBridge 163:e59c8e839560 3343 __STATIC_INLINE void LL_HRTIM_TIM_SetCounter(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Counter)
AnnaBridge 163:e59c8e839560 3344 {
AnnaBridge 163:e59c8e839560 3345 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3346 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCNTR) +
AnnaBridge 163:e59c8e839560 3347 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3348 MODIFY_REG(* pReg, HRTIM_MCNTR_MCNTR, Counter);
AnnaBridge 163:e59c8e839560 3349 }
AnnaBridge 163:e59c8e839560 3350
AnnaBridge 163:e59c8e839560 3351 /**
AnnaBridge 163:e59c8e839560 3352 * @brief Get actual timer counter value.
AnnaBridge 163:e59c8e839560 3353 * @rmtoll MCNTR MCNT LL_HRTIM_TIM_GetCounter\n
AnnaBridge 163:e59c8e839560 3354 * CNTxR CNTx LL_HRTIM_TIM_GetCounter
AnnaBridge 163:e59c8e839560 3355 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3356 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3357 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3358 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3359 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3360 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3361 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3362 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3363 * @retval Counter Value between 0 and 0xFFFF
AnnaBridge 163:e59c8e839560 3364 */
AnnaBridge 163:e59c8e839560 3365 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCounter(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3366 {
AnnaBridge 163:e59c8e839560 3367 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3368 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCNTR) +
AnnaBridge 163:e59c8e839560 3369 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3370 return (READ_BIT(*pReg, HRTIM_MCNTR_MCNTR));
AnnaBridge 163:e59c8e839560 3371 }
AnnaBridge 163:e59c8e839560 3372
AnnaBridge 163:e59c8e839560 3373 /**
AnnaBridge 163:e59c8e839560 3374 * @brief Set the timer period value.
AnnaBridge 163:e59c8e839560 3375 * @rmtoll MPER MPER LL_HRTIM_TIM_SetPeriod\n
AnnaBridge 163:e59c8e839560 3376 * PERxR PERx LL_HRTIM_TIM_SetPeriod
AnnaBridge 163:e59c8e839560 3377 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3378 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3379 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3380 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3381 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3382 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3383 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3384 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3385 * @param Period Value between 0 and 0xFFFF
AnnaBridge 163:e59c8e839560 3386 * @retval None
AnnaBridge 163:e59c8e839560 3387 */
AnnaBridge 163:e59c8e839560 3388 __STATIC_INLINE void LL_HRTIM_TIM_SetPeriod(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Period)
AnnaBridge 163:e59c8e839560 3389 {
AnnaBridge 163:e59c8e839560 3390 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3391 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MPER) +
AnnaBridge 163:e59c8e839560 3392 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3393 MODIFY_REG(* pReg, HRTIM_MPER_MPER, Period);
AnnaBridge 163:e59c8e839560 3394 }
AnnaBridge 163:e59c8e839560 3395
AnnaBridge 163:e59c8e839560 3396 /**
AnnaBridge 163:e59c8e839560 3397 * @brief Get actual timer period value.
AnnaBridge 163:e59c8e839560 3398 * @rmtoll MPER MPER LL_HRTIM_TIM_GetPeriod\n
AnnaBridge 163:e59c8e839560 3399 * PERxR PERx LL_HRTIM_TIM_GetPeriod
AnnaBridge 163:e59c8e839560 3400 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3401 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3402 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3403 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3404 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3405 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3406 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3407 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3408 * @retval Period Value between 0 and 0xFFFF
AnnaBridge 163:e59c8e839560 3409 */
AnnaBridge 163:e59c8e839560 3410 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetPeriod(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3411 {
AnnaBridge 163:e59c8e839560 3412 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3413 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MPER) +
AnnaBridge 163:e59c8e839560 3414 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3415 return (READ_BIT(*pReg, HRTIM_MPER_MPER));
AnnaBridge 163:e59c8e839560 3416 }
AnnaBridge 163:e59c8e839560 3417
AnnaBridge 163:e59c8e839560 3418 /**
AnnaBridge 163:e59c8e839560 3419 * @brief Set the timer repetition period value.
AnnaBridge 163:e59c8e839560 3420 * @rmtoll MREP MREP LL_HRTIM_TIM_SetRepetition\n
AnnaBridge 163:e59c8e839560 3421 * REPxR REPx LL_HRTIM_TIM_SetRepetition
AnnaBridge 163:e59c8e839560 3422 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3423 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3424 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3425 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3426 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3427 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3428 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3429 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3430 * @param Repetition Value between 0 and 0xFF
AnnaBridge 163:e59c8e839560 3431 * @retval None
AnnaBridge 163:e59c8e839560 3432 */
AnnaBridge 163:e59c8e839560 3433 __STATIC_INLINE void LL_HRTIM_TIM_SetRepetition(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Repetition)
AnnaBridge 163:e59c8e839560 3434 {
AnnaBridge 163:e59c8e839560 3435 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3436 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MREP) +
AnnaBridge 163:e59c8e839560 3437 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3438 MODIFY_REG(* pReg, HRTIM_MREP_MREP, Repetition);
AnnaBridge 163:e59c8e839560 3439 }
AnnaBridge 163:e59c8e839560 3440
AnnaBridge 163:e59c8e839560 3441 /**
AnnaBridge 163:e59c8e839560 3442 * @brief Get actual timer repetition period value.
AnnaBridge 163:e59c8e839560 3443 * @rmtoll MREP MREP LL_HRTIM_TIM_GetRepetition\n
AnnaBridge 163:e59c8e839560 3444 * REPxR REPx LL_HRTIM_TIM_GetRepetition
AnnaBridge 163:e59c8e839560 3445 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3446 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3447 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3448 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3449 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3450 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3451 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3452 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3453 * @retval Repetition Value between 0 and 0xFF
AnnaBridge 163:e59c8e839560 3454 */
AnnaBridge 163:e59c8e839560 3455 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetRepetition(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3456 {
AnnaBridge 163:e59c8e839560 3457 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3458 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MREP) +
AnnaBridge 163:e59c8e839560 3459 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3460 return (READ_BIT(*pReg, HRTIM_MREP_MREP));
AnnaBridge 163:e59c8e839560 3461 }
AnnaBridge 163:e59c8e839560 3462
AnnaBridge 163:e59c8e839560 3463 /**
AnnaBridge 163:e59c8e839560 3464 * @brief Set the compare value of the compare unit 1.
AnnaBridge 163:e59c8e839560 3465 * @rmtoll MCMP1R MCMP1 LL_HRTIM_TIM_SetCompare1\n
AnnaBridge 163:e59c8e839560 3466 * CMP1xR CMP1x LL_HRTIM_TIM_SetCompare1
AnnaBridge 163:e59c8e839560 3467 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3468 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3469 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3470 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3471 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3472 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3473 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3474 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3475 * @param CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3476 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3477 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3478 * @retval None
AnnaBridge 163:e59c8e839560 3479 */
AnnaBridge 163:e59c8e839560 3480 __STATIC_INLINE void LL_HRTIM_TIM_SetCompare1(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareValue)
AnnaBridge 163:e59c8e839560 3481 {
AnnaBridge 163:e59c8e839560 3482 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3483 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP1R) +
AnnaBridge 163:e59c8e839560 3484 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3485 MODIFY_REG(* pReg, HRTIM_MCMP1R_MCMP1R, CompareValue);
AnnaBridge 163:e59c8e839560 3486 }
AnnaBridge 163:e59c8e839560 3487
AnnaBridge 163:e59c8e839560 3488 /**
AnnaBridge 163:e59c8e839560 3489 * @brief Get actual compare value of the compare unit 1.
AnnaBridge 163:e59c8e839560 3490 * @rmtoll MCMP1R MCMP1 LL_HRTIM_TIM_GetCompare1\n
AnnaBridge 163:e59c8e839560 3491 * CMP1xR CMP1x LL_HRTIM_TIM_GetCompare1
AnnaBridge 163:e59c8e839560 3492 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3493 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3494 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3495 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3496 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3497 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3498 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3499 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3500 * @retval CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3501 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3502 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3503 */
AnnaBridge 163:e59c8e839560 3504 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCompare1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3505 {
AnnaBridge 163:e59c8e839560 3506 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3507 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP1R) +
AnnaBridge 163:e59c8e839560 3508 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3509 return (READ_BIT(*pReg, HRTIM_MCMP1R_MCMP1R));
AnnaBridge 163:e59c8e839560 3510 }
AnnaBridge 163:e59c8e839560 3511
AnnaBridge 163:e59c8e839560 3512 /**
AnnaBridge 163:e59c8e839560 3513 * @brief Set the compare value of the compare unit 2.
AnnaBridge 163:e59c8e839560 3514 * @rmtoll MCMP2R MCMP2 LL_HRTIM_TIM_SetCompare2\n
AnnaBridge 163:e59c8e839560 3515 * CMP2xR CMP2x LL_HRTIM_TIM_SetCompare2
AnnaBridge 163:e59c8e839560 3516 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3517 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3518 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3519 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3520 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3521 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3522 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3523 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3524 * @param CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3525 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3526 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3527 * @retval None
AnnaBridge 163:e59c8e839560 3528 */
AnnaBridge 163:e59c8e839560 3529 __STATIC_INLINE void LL_HRTIM_TIM_SetCompare2(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareValue)
AnnaBridge 163:e59c8e839560 3530 {
AnnaBridge 163:e59c8e839560 3531 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3532 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP2R) +
AnnaBridge 163:e59c8e839560 3533 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3534 MODIFY_REG(* pReg, HRTIM_MCMP1R_MCMP2R, CompareValue);
AnnaBridge 163:e59c8e839560 3535 }
AnnaBridge 163:e59c8e839560 3536
AnnaBridge 163:e59c8e839560 3537 /**
AnnaBridge 163:e59c8e839560 3538 * @brief Get actual compare value of the compare unit 2.
AnnaBridge 163:e59c8e839560 3539 * @rmtoll MCMP2R MCMP2 LL_HRTIM_TIM_GetCompare2\n
AnnaBridge 163:e59c8e839560 3540 * CMP2xR CMP2x LL_HRTIM_TIM_GetCompare2\n
AnnaBridge 163:e59c8e839560 3541 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3542 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3543 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3544 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3545 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3546 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3547 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3548 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3549 * @retval CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3550 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3551 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3552 */
AnnaBridge 163:e59c8e839560 3553 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCompare2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3554 {
AnnaBridge 163:e59c8e839560 3555 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3556 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP2R) +
AnnaBridge 163:e59c8e839560 3557 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3558 return (READ_BIT(*pReg, HRTIM_MCMP1R_MCMP2R));
AnnaBridge 163:e59c8e839560 3559 }
AnnaBridge 163:e59c8e839560 3560
AnnaBridge 163:e59c8e839560 3561 /**
AnnaBridge 163:e59c8e839560 3562 * @brief Set the compare value of the compare unit 3.
AnnaBridge 163:e59c8e839560 3563 * @rmtoll MCMP3R MCMP3 LL_HRTIM_TIM_SetCompare3\n
AnnaBridge 163:e59c8e839560 3564 * CMP3xR CMP3x LL_HRTIM_TIM_SetCompare3
AnnaBridge 163:e59c8e839560 3565 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3566 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3567 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3568 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3569 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3570 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3571 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3572 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3573 * @param CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3574 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3575 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3576 * @retval None
AnnaBridge 163:e59c8e839560 3577 */
AnnaBridge 163:e59c8e839560 3578 __STATIC_INLINE void LL_HRTIM_TIM_SetCompare3(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareValue)
AnnaBridge 163:e59c8e839560 3579 {
AnnaBridge 163:e59c8e839560 3580 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3581 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP3R) +
AnnaBridge 163:e59c8e839560 3582 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3583 MODIFY_REG(* pReg, HRTIM_MCMP1R_MCMP3R, CompareValue);
AnnaBridge 163:e59c8e839560 3584 }
AnnaBridge 163:e59c8e839560 3585
AnnaBridge 163:e59c8e839560 3586 /**
AnnaBridge 163:e59c8e839560 3587 * @brief Get actual compare value of the compare unit 3.
AnnaBridge 163:e59c8e839560 3588 * @rmtoll MCMP3R MCMP3 LL_HRTIM_TIM_GetCompare3\n
AnnaBridge 163:e59c8e839560 3589 * CMP3xR CMP3x LL_HRTIM_TIM_GetCompare3
AnnaBridge 163:e59c8e839560 3590 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3591 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3592 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3593 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3594 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3595 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3596 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3597 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3598 * @retval CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3599 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3600 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3601 */
AnnaBridge 163:e59c8e839560 3602 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCompare3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3603 {
AnnaBridge 163:e59c8e839560 3604 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3605 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP3R) +
AnnaBridge 163:e59c8e839560 3606 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3607 return (READ_BIT(*pReg, HRTIM_MCMP1R_MCMP3R));
AnnaBridge 163:e59c8e839560 3608 }
AnnaBridge 163:e59c8e839560 3609
AnnaBridge 163:e59c8e839560 3610 /**
AnnaBridge 163:e59c8e839560 3611 * @brief Set the compare value of the compare unit 4.
AnnaBridge 163:e59c8e839560 3612 * @rmtoll MCMP4R MCMP4 LL_HRTIM_TIM_SetCompare4\n
AnnaBridge 163:e59c8e839560 3613 * CMP4xR CMP4x LL_HRTIM_TIM_SetCompare4
AnnaBridge 163:e59c8e839560 3614 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3615 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3616 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3617 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3618 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3619 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3620 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3621 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3622 * @param CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3623 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3624 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3625 * @retval None
AnnaBridge 163:e59c8e839560 3626 */
AnnaBridge 163:e59c8e839560 3627 __STATIC_INLINE void LL_HRTIM_TIM_SetCompare4(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CompareValue)
AnnaBridge 163:e59c8e839560 3628 {
AnnaBridge 163:e59c8e839560 3629 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3630 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP4R) +
AnnaBridge 163:e59c8e839560 3631 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3632 MODIFY_REG(* pReg, HRTIM_MCMP1R_MCMP4R, CompareValue);
AnnaBridge 163:e59c8e839560 3633 }
AnnaBridge 163:e59c8e839560 3634
AnnaBridge 163:e59c8e839560 3635 /**
AnnaBridge 163:e59c8e839560 3636 * @brief Get actual compare value of the compare unit 4.
AnnaBridge 163:e59c8e839560 3637 * @rmtoll MCMP4R MCMP4 LL_HRTIM_TIM_GetCompare4\n
AnnaBridge 163:e59c8e839560 3638 * CMP4xR CMP4x LL_HRTIM_TIM_GetCompare4
AnnaBridge 163:e59c8e839560 3639 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3640 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3641 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 3642 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3643 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3644 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3645 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3646 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3647 * @retval CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 3648 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 3649 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 3650 */
AnnaBridge 163:e59c8e839560 3651 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCompare4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3652 {
AnnaBridge 163:e59c8e839560 3653 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 3654 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MCMP4R) +
AnnaBridge 163:e59c8e839560 3655 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3656 return (READ_BIT(*pReg, HRTIM_MCMP1R_MCMP4R));
AnnaBridge 163:e59c8e839560 3657 }
AnnaBridge 163:e59c8e839560 3658
AnnaBridge 163:e59c8e839560 3659 /**
AnnaBridge 163:e59c8e839560 3660 * @brief Set the reset trigger of a timer counter.
AnnaBridge 163:e59c8e839560 3661 * @rmtoll RSTxR UPDT LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3662 * RSTxR CMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3663 * RSTxR CMP4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3664 * RSTxR MSTPER LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3665 * RSTxR MSTCMP1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3666 * RSTxR MSTCMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3667 * RSTxR MSTCMP3 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3668 * RSTxR MSTCMP4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3669 * RSTxR EXTEVNT1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3670 * RSTxR EXTEVNT2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3671 * RSTxR EXTEVNT3 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3672 * RSTxR EXTEVNT4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3673 * RSTxR EXTEVNT5 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3674 * RSTxR EXTEVNT6 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3675 * RSTxR EXTEVNT7 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3676 * RSTxR EXTEVNT8 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3677 * RSTxR EXTEVNT9 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3678 * RSTxR EXTEVNT10 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3679 * RSTxR TIMBCMP1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3680 * RSTxR TIMBCMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3681 * RSTxR TIMBCMP4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3682 * RSTxR TIMCCMP1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3683 * RSTxR TIMCCMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3684 * RSTxR TIMCCMP4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3685 * RSTxR TIMDCMP1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3686 * RSTxR TIMDCMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3687 * RSTxR TIMDCMP4 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3688 * RSTxR TIMECMP1 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3689 * RSTxR TIMECMP2 LL_HRTIM_TIM_SetResetTrig\n
AnnaBridge 163:e59c8e839560 3690 * RSTxR TIMECMP4 LL_HRTIM_TIM_SetResetTrig
AnnaBridge 163:e59c8e839560 3691 * @note The reset of the timer counter can be triggered by up to 30 events
AnnaBridge 163:e59c8e839560 3692 * that can be selected among the following sources:
AnnaBridge 163:e59c8e839560 3693 * @arg The timing unit: Compare 2, Compare 4 and Update (3 events).
AnnaBridge 163:e59c8e839560 3694 * @arg The master timer: Reset and Compare 1..4 (5 events).
AnnaBridge 163:e59c8e839560 3695 * @arg The external events EXTEVNT1..10 (10 events).
AnnaBridge 163:e59c8e839560 3696 * @arg All other timing units (e.g. Timer B..E for timer A): Compare 1, 2 and 4 (12 events).
AnnaBridge 163:e59c8e839560 3697 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3698 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3699 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3700 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3701 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3702 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3703 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3704 * @param ResetTrig This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 3705 * @arg @ref LL_HRTIM_RESETTRIG_NONE
AnnaBridge 163:e59c8e839560 3706 * @arg @ref LL_HRTIM_RESETTRIG_UPDATE
AnnaBridge 163:e59c8e839560 3707 * @arg @ref LL_HRTIM_RESETTRIG_CMP2
AnnaBridge 163:e59c8e839560 3708 * @arg @ref LL_HRTIM_RESETTRIG_CMP4
AnnaBridge 163:e59c8e839560 3709 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_PER
AnnaBridge 163:e59c8e839560 3710 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP1
AnnaBridge 163:e59c8e839560 3711 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP2
AnnaBridge 163:e59c8e839560 3712 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP3
AnnaBridge 163:e59c8e839560 3713 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP4
AnnaBridge 163:e59c8e839560 3714 * @arg @ref LL_HRTIM_RESETTRIG_EEV_1
AnnaBridge 163:e59c8e839560 3715 * @arg @ref LL_HRTIM_RESETTRIG_EEV_2
AnnaBridge 163:e59c8e839560 3716 * @arg @ref LL_HRTIM_RESETTRIG_EEV_3
AnnaBridge 163:e59c8e839560 3717 * @arg @ref LL_HRTIM_RESETTRIG_EEV_4
AnnaBridge 163:e59c8e839560 3718 * @arg @ref LL_HRTIM_RESETTRIG_EEV_5
AnnaBridge 163:e59c8e839560 3719 * @arg @ref LL_HRTIM_RESETTRIG_EEV_6
AnnaBridge 163:e59c8e839560 3720 * @arg @ref LL_HRTIM_RESETTRIG_EEV_7
AnnaBridge 163:e59c8e839560 3721 * @arg @ref LL_HRTIM_RESETTRIG_EEV_8
AnnaBridge 163:e59c8e839560 3722 * @arg @ref LL_HRTIM_RESETTRIG_EEV_9
AnnaBridge 163:e59c8e839560 3723 * @arg @ref LL_HRTIM_RESETTRIG_EEV_10
AnnaBridge 163:e59c8e839560 3724 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP1
AnnaBridge 163:e59c8e839560 3725 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP2
AnnaBridge 163:e59c8e839560 3726 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP4
AnnaBridge 163:e59c8e839560 3727 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP1
AnnaBridge 163:e59c8e839560 3728 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP2
AnnaBridge 163:e59c8e839560 3729 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP4
AnnaBridge 163:e59c8e839560 3730 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP1
AnnaBridge 163:e59c8e839560 3731 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP2
AnnaBridge 163:e59c8e839560 3732 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP4
AnnaBridge 163:e59c8e839560 3733 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP1
AnnaBridge 163:e59c8e839560 3734 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP2
AnnaBridge 163:e59c8e839560 3735 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP4
AnnaBridge 163:e59c8e839560 3736 * @retval None
AnnaBridge 163:e59c8e839560 3737 */
AnnaBridge 163:e59c8e839560 3738 __STATIC_INLINE void LL_HRTIM_TIM_SetResetTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t ResetTrig)
AnnaBridge 163:e59c8e839560 3739 {
AnnaBridge 163:e59c8e839560 3740 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3741 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].RSTxR) +
AnnaBridge 163:e59c8e839560 3742 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3743 WRITE_REG(*pReg, ResetTrig);
AnnaBridge 163:e59c8e839560 3744 }
AnnaBridge 163:e59c8e839560 3745
AnnaBridge 163:e59c8e839560 3746 /**
AnnaBridge 163:e59c8e839560 3747 * @brief Get actual reset trigger of a timer counter.
AnnaBridge 163:e59c8e839560 3748 * @rmtoll RSTxR UPDT LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3749 * RSTxR CMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3750 * RSTxR CMP4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3751 * RSTxR MSTPER LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3752 * RSTxR MSTCMP1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3753 * RSTxR MSTCMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3754 * RSTxR MSTCMP3 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3755 * RSTxR MSTCMP4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3756 * RSTxR EXTEVNT1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3757 * RSTxR EXTEVNT2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3758 * RSTxR EXTEVNT3 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3759 * RSTxR EXTEVNT4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3760 * RSTxR EXTEVNT5 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3761 * RSTxR EXTEVNT6 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3762 * RSTxR EXTEVNT7 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3763 * RSTxR EXTEVNT8 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3764 * RSTxR EXTEVNT9 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3765 * RSTxR EXTEVNT10 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3766 * RSTxR TIMBCMP1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3767 * RSTxR TIMBCMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3768 * RSTxR TIMBCMP4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3769 * RSTxR TIMCCMP1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3770 * RSTxR TIMCCMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3771 * RSTxR TIMCCMP4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3772 * RSTxR TIMDCMP1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3773 * RSTxR TIMDCMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3774 * RSTxR TIMDCMP4 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3775 * RSTxR TIMECMP1 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3776 * RSTxR TIMECMP2 LL_HRTIM_TIM_GetResetTrig\n
AnnaBridge 163:e59c8e839560 3777 * RSTxR TIMECMP4 LL_HRTIM_TIM_GetResetTrig
AnnaBridge 163:e59c8e839560 3778 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3779 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3780 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3781 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3782 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3783 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3784 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3785 * @retval ResetTrig Returned value can be one of the following values:
AnnaBridge 163:e59c8e839560 3786 * @arg @ref LL_HRTIM_RESETTRIG_NONE
AnnaBridge 163:e59c8e839560 3787 * @arg @ref LL_HRTIM_RESETTRIG_UPDATE
AnnaBridge 163:e59c8e839560 3788 * @arg @ref LL_HRTIM_RESETTRIG_CMP2
AnnaBridge 163:e59c8e839560 3789 * @arg @ref LL_HRTIM_RESETTRIG_CMP4
AnnaBridge 163:e59c8e839560 3790 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_PER
AnnaBridge 163:e59c8e839560 3791 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP1
AnnaBridge 163:e59c8e839560 3792 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP2
AnnaBridge 163:e59c8e839560 3793 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP3
AnnaBridge 163:e59c8e839560 3794 * @arg @ref LL_HRTIM_RESETTRIG_MASTER_CMP4
AnnaBridge 163:e59c8e839560 3795 * @arg @ref LL_HRTIM_RESETTRIG_EEV_1
AnnaBridge 163:e59c8e839560 3796 * @arg @ref LL_HRTIM_RESETTRIG_EEV_2
AnnaBridge 163:e59c8e839560 3797 * @arg @ref LL_HRTIM_RESETTRIG_EEV_3
AnnaBridge 163:e59c8e839560 3798 * @arg @ref LL_HRTIM_RESETTRIG_EEV_4
AnnaBridge 163:e59c8e839560 3799 * @arg @ref LL_HRTIM_RESETTRIG_EEV_5
AnnaBridge 163:e59c8e839560 3800 * @arg @ref LL_HRTIM_RESETTRIG_EEV_6
AnnaBridge 163:e59c8e839560 3801 * @arg @ref LL_HRTIM_RESETTRIG_EEV_7
AnnaBridge 163:e59c8e839560 3802 * @arg @ref LL_HRTIM_RESETTRIG_EEV_8
AnnaBridge 163:e59c8e839560 3803 * @arg @ref LL_HRTIM_RESETTRIG_EEV_9
AnnaBridge 163:e59c8e839560 3804 * @arg @ref LL_HRTIM_RESETTRIG_EEV_10
AnnaBridge 163:e59c8e839560 3805 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP1
AnnaBridge 163:e59c8e839560 3806 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP2
AnnaBridge 163:e59c8e839560 3807 * @arg @ref LL_HRTIM_RESETTRIG_OTHER1_CMP4
AnnaBridge 163:e59c8e839560 3808 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP1
AnnaBridge 163:e59c8e839560 3809 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP2
AnnaBridge 163:e59c8e839560 3810 * @arg @ref LL_HRTIM_RESETTRIG_OTHER2_CMP4
AnnaBridge 163:e59c8e839560 3811 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP1
AnnaBridge 163:e59c8e839560 3812 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP2
AnnaBridge 163:e59c8e839560 3813 * @arg @ref LL_HRTIM_RESETTRIG_OTHER3_CMP4
AnnaBridge 163:e59c8e839560 3814 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP1
AnnaBridge 163:e59c8e839560 3815 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP2
AnnaBridge 163:e59c8e839560 3816 * @arg @ref LL_HRTIM_RESETTRIG_OTHER4_CMP4
AnnaBridge 163:e59c8e839560 3817 */
AnnaBridge 163:e59c8e839560 3818 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetResetTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3819 {
AnnaBridge 163:e59c8e839560 3820 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3821 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].RSTxR) +
AnnaBridge 163:e59c8e839560 3822 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3823 return (READ_REG(*pReg));
AnnaBridge 163:e59c8e839560 3824 }
AnnaBridge 163:e59c8e839560 3825
AnnaBridge 163:e59c8e839560 3826 /**
AnnaBridge 163:e59c8e839560 3827 * @brief Get captured value for capture unit 1.
AnnaBridge 163:e59c8e839560 3828 * @rmtoll CPT1xR CPT1x LL_HRTIM_TIM_GetCapture1
AnnaBridge 163:e59c8e839560 3829 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3830 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3831 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3832 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3833 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3834 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3835 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3836 * @retval Captured value
AnnaBridge 163:e59c8e839560 3837 */
AnnaBridge 163:e59c8e839560 3838 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCapture1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3839 {
AnnaBridge 163:e59c8e839560 3840 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3841 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CPT1xR) +
AnnaBridge 163:e59c8e839560 3842 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3843 return (READ_REG(*pReg));
AnnaBridge 163:e59c8e839560 3844 }
AnnaBridge 163:e59c8e839560 3845
AnnaBridge 163:e59c8e839560 3846 /**
AnnaBridge 163:e59c8e839560 3847 * @brief Get captured value for capture unit 2.
AnnaBridge 163:e59c8e839560 3848 * @rmtoll CPT2xR CPT2x LL_HRTIM_TIM_GetCapture2
AnnaBridge 163:e59c8e839560 3849 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3850 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3851 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3852 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3853 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3854 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3855 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3856 * @retval Captured value
AnnaBridge 163:e59c8e839560 3857 */
AnnaBridge 163:e59c8e839560 3858 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCapture2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 3859 {
AnnaBridge 163:e59c8e839560 3860 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3861 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CPT2xR) +
AnnaBridge 163:e59c8e839560 3862 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 3863 return (READ_REG(*pReg));
AnnaBridge 163:e59c8e839560 3864 }
AnnaBridge 163:e59c8e839560 3865
AnnaBridge 163:e59c8e839560 3866 /**
AnnaBridge 163:e59c8e839560 3867 * @brief Set the trigger of a capture unit for a given timer.
AnnaBridge 163:e59c8e839560 3868 * @rmtoll CPT1xCR SWCPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3869 * CPT1xCR UPDCPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3870 * CPT1xCR EXEV1CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3871 * CPT1xCR EXEV2CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3872 * CPT1xCR EXEV3CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3873 * CPT1xCR EXEV4CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3874 * CPT1xCR EXEV5CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3875 * CPT1xCR EXEV6CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3876 * CPT1xCR EXEV7CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3877 * CPT1xCR EXEV8CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3878 * CPT1xCR EXEV9CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3879 * CPT1xCR EXEV10CPT LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3880 * CPT1xCR TA1SET LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3881 * CPT1xCR TA1RST LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3882 * CPT1xCR TACMP1 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3883 * CPT1xCR TACMP2 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3884 * CPT1xCR TB1SET LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3885 * CPT1xCR TB1RST LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3886 * CPT1xCR TBCMP1 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3887 * CPT1xCR TBCMP2 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3888 * CPT1xCR TC1SET LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3889 * CPT1xCR TC1RST LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3890 * CPT1xCR TCCMP1 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3891 * CPT1xCR TCCMP2 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3892 * CPT1xCR TD1SET LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3893 * CPT1xCR TD1RST LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3894 * CPT1xCR TDCMP1 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3895 * CPT1xCR TDCMP2 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3896 * CPT1xCR TE1SET LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3897 * CPT1xCR TE1RST LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3898 * CPT1xCR TECMP1 LL_HRTIM_TIM_SetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3899 * CPT1xCR TECMP2 LL_HRTIM_TIM_SetCaptureTrig
AnnaBridge 163:e59c8e839560 3900 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3901 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3902 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3903 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3904 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3905 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3906 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3907 * @param CaptureUnit This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3908 * @arg @ref LL_HRTIM_CAPTUREUNIT_1
AnnaBridge 163:e59c8e839560 3909 * @arg @ref LL_HRTIM_CAPTUREUNIT_2
AnnaBridge 163:e59c8e839560 3910 * @param CaptureTrig This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 3911 * @arg @ref LL_HRTIM_CAPTURETRIG_NONE
AnnaBridge 163:e59c8e839560 3912 * @arg @ref LL_HRTIM_CAPTURETRIG_UPDATE
AnnaBridge 163:e59c8e839560 3913 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_1
AnnaBridge 163:e59c8e839560 3914 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_2
AnnaBridge 163:e59c8e839560 3915 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_3
AnnaBridge 163:e59c8e839560 3916 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_4
AnnaBridge 163:e59c8e839560 3917 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_5
AnnaBridge 163:e59c8e839560 3918 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_6
AnnaBridge 163:e59c8e839560 3919 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_7
AnnaBridge 163:e59c8e839560 3920 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_8
AnnaBridge 163:e59c8e839560 3921 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_9
AnnaBridge 163:e59c8e839560 3922 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_10
AnnaBridge 163:e59c8e839560 3923 * @arg @ref LL_HRTIM_CAPTURETRIG_TA1_SET
AnnaBridge 163:e59c8e839560 3924 * @arg @ref LL_HRTIM_CAPTURETRIG_TA1_RESET
AnnaBridge 163:e59c8e839560 3925 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMA_CMP1
AnnaBridge 163:e59c8e839560 3926 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMA_CMP2
AnnaBridge 163:e59c8e839560 3927 * @arg @ref LL_HRTIM_CAPTURETRIG_TB1_SET
AnnaBridge 163:e59c8e839560 3928 * @arg @ref LL_HRTIM_CAPTURETRIG_TB1_RESET
AnnaBridge 163:e59c8e839560 3929 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMB_CMP1
AnnaBridge 163:e59c8e839560 3930 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMB_CMP2
AnnaBridge 163:e59c8e839560 3931 * @arg @ref LL_HRTIM_CAPTURETRIG_TC1_SET
AnnaBridge 163:e59c8e839560 3932 * @arg @ref LL_HRTIM_CAPTURETRIG_TC1_RESET
AnnaBridge 163:e59c8e839560 3933 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMC_CMP1
AnnaBridge 163:e59c8e839560 3934 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMC_CMP2
AnnaBridge 163:e59c8e839560 3935 * @arg @ref LL_HRTIM_CAPTURETRIG_TD1_SET
AnnaBridge 163:e59c8e839560 3936 * @arg @ref LL_HRTIM_CAPTURETRIG_TD1_RESET
AnnaBridge 163:e59c8e839560 3937 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMD_CMP1
AnnaBridge 163:e59c8e839560 3938 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMD_CMP2
AnnaBridge 163:e59c8e839560 3939 * @arg @ref LL_HRTIM_CAPTURETRIG_TE1_SET
AnnaBridge 163:e59c8e839560 3940 * @arg @ref LL_HRTIM_CAPTURETRIG_TE1_RESET
AnnaBridge 163:e59c8e839560 3941 * @arg @ref LL_HRTIM_CAPTURETRIG_TIME_CMP1
AnnaBridge 163:e59c8e839560 3942 * @arg @ref LL_HRTIM_CAPTURETRIG_TIME_CMP2
AnnaBridge 163:e59c8e839560 3943 * @retval None
AnnaBridge 163:e59c8e839560 3944 */
AnnaBridge 163:e59c8e839560 3945 __STATIC_INLINE void LL_HRTIM_TIM_SetCaptureTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CaptureUnit,
AnnaBridge 163:e59c8e839560 3946 uint32_t CaptureTrig)
AnnaBridge 163:e59c8e839560 3947 {
AnnaBridge 163:e59c8e839560 3948 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 3949 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CPT1xCR) +
AnnaBridge 163:e59c8e839560 3950 REG_OFFSET_TAB_TIMER[iTimer] + CaptureUnit * 4));
AnnaBridge 163:e59c8e839560 3951 WRITE_REG(*pReg, CaptureTrig);
AnnaBridge 163:e59c8e839560 3952 }
AnnaBridge 163:e59c8e839560 3953
AnnaBridge 163:e59c8e839560 3954 /**
AnnaBridge 163:e59c8e839560 3955 * @brief Get actual trigger of a capture unit for a given timer.
AnnaBridge 163:e59c8e839560 3956 * @rmtoll CPT1xCR SWCPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3957 * CPT1xCR UPDCPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3958 * CPT1xCR EXEV1CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3959 * CPT1xCR EXEV2CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3960 * CPT1xCR EXEV3CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3961 * CPT1xCR EXEV4CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3962 * CPT1xCR EXEV5CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3963 * CPT1xCR EXEV6CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3964 * CPT1xCR EXEV7CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3965 * CPT1xCR EXEV8CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3966 * CPT1xCR EXEV9CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3967 * CPT1xCR EXEV10CPT LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3968 * CPT1xCR TA1SET LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3969 * CPT1xCR TA1RST LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3970 * CPT1xCR TACMP1 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3971 * CPT1xCR TACMP2 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3972 * CPT1xCR TB1SET LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3973 * CPT1xCR TB1RST LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3974 * CPT1xCR TBCMP1 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3975 * CPT1xCR TBCMP2 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3976 * CPT1xCR TC1SET LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3977 * CPT1xCR TC1RST LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3978 * CPT1xCR TCCMP1 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3979 * CPT1xCR TCCMP2 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3980 * CPT1xCR TD1SET LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3981 * CPT1xCR TD1RST LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3982 * CPT1xCR TDCMP1 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3983 * CPT1xCR TDCMP2 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3984 * CPT1xCR TE1SET LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3985 * CPT1xCR TE1RST LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3986 * CPT1xCR TECMP1 LL_HRTIM_TIM_GetCaptureTrig\n
AnnaBridge 163:e59c8e839560 3987 * CPT1xCR TECMP2 LL_HRTIM_TIM_GetCaptureTrig
AnnaBridge 163:e59c8e839560 3988 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 3989 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3990 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 3991 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 3992 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 3993 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 3994 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 3995 * @param CaptureUnit This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 3996 * @arg @ref LL_HRTIM_CAPTUREUNIT_1
AnnaBridge 163:e59c8e839560 3997 * @arg @ref LL_HRTIM_CAPTUREUNIT_2
AnnaBridge 163:e59c8e839560 3998 * @retval CaptureTrig This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 3999 * @arg @ref LL_HRTIM_CAPTURETRIG_NONE
AnnaBridge 163:e59c8e839560 4000 * @arg @ref LL_HRTIM_CAPTURETRIG_UPDATE
AnnaBridge 163:e59c8e839560 4001 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_1
AnnaBridge 163:e59c8e839560 4002 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_2
AnnaBridge 163:e59c8e839560 4003 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_3
AnnaBridge 163:e59c8e839560 4004 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_4
AnnaBridge 163:e59c8e839560 4005 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_5
AnnaBridge 163:e59c8e839560 4006 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_6
AnnaBridge 163:e59c8e839560 4007 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_7
AnnaBridge 163:e59c8e839560 4008 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_8
AnnaBridge 163:e59c8e839560 4009 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_9
AnnaBridge 163:e59c8e839560 4010 * @arg @ref LL_HRTIM_CAPTURETRIG_EEV_10
AnnaBridge 163:e59c8e839560 4011 * @arg @ref LL_HRTIM_CAPTURETRIG_TA1_SET
AnnaBridge 163:e59c8e839560 4012 * @arg @ref LL_HRTIM_CAPTURETRIG_TA1_RESET
AnnaBridge 163:e59c8e839560 4013 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMA_CMP1
AnnaBridge 163:e59c8e839560 4014 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMA_CMP2
AnnaBridge 163:e59c8e839560 4015 * @arg @ref LL_HRTIM_CAPTURETRIG_TB1_SET
AnnaBridge 163:e59c8e839560 4016 * @arg @ref LL_HRTIM_CAPTURETRIG_TB1_RESET
AnnaBridge 163:e59c8e839560 4017 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMB_CMP1
AnnaBridge 163:e59c8e839560 4018 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMB_CMP2
AnnaBridge 163:e59c8e839560 4019 * @arg @ref LL_HRTIM_CAPTURETRIG_TC1_SET
AnnaBridge 163:e59c8e839560 4020 * @arg @ref LL_HRTIM_CAPTURETRIG_TC1_RESET
AnnaBridge 163:e59c8e839560 4021 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMC_CMP1
AnnaBridge 163:e59c8e839560 4022 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMC_CMP2
AnnaBridge 163:e59c8e839560 4023 * @arg @ref LL_HRTIM_CAPTURETRIG_TD1_SET
AnnaBridge 163:e59c8e839560 4024 * @arg @ref LL_HRTIM_CAPTURETRIG_TD1_RESET
AnnaBridge 163:e59c8e839560 4025 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMD_CMP1
AnnaBridge 163:e59c8e839560 4026 * @arg @ref LL_HRTIM_CAPTURETRIG_TIMD_CMP2
AnnaBridge 163:e59c8e839560 4027 * @arg @ref LL_HRTIM_CAPTURETRIG_TE1_SET
AnnaBridge 163:e59c8e839560 4028 * @arg @ref LL_HRTIM_CAPTURETRIG_TE1_RESET
AnnaBridge 163:e59c8e839560 4029 * @arg @ref LL_HRTIM_CAPTURETRIG_TIME_CMP1
AnnaBridge 163:e59c8e839560 4030 * @arg @ref LL_HRTIM_CAPTURETRIG_TIME_CMP2
AnnaBridge 163:e59c8e839560 4031 */
AnnaBridge 163:e59c8e839560 4032 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCaptureTrig(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t CaptureUnit)
AnnaBridge 163:e59c8e839560 4033 {
AnnaBridge 163:e59c8e839560 4034 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4035 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CPT1xCR) +
AnnaBridge 163:e59c8e839560 4036 REG_OFFSET_TAB_TIMER[iTimer] + CaptureUnit * 4));
AnnaBridge 163:e59c8e839560 4037 return (READ_REG(*pReg));
AnnaBridge 163:e59c8e839560 4038 }
AnnaBridge 163:e59c8e839560 4039
AnnaBridge 163:e59c8e839560 4040 /**
AnnaBridge 163:e59c8e839560 4041 * @brief Enable deadtime insertion for a given timer.
AnnaBridge 163:e59c8e839560 4042 * @rmtoll OUTxR DTEN LL_HRTIM_TIM_EnableDeadTime
AnnaBridge 163:e59c8e839560 4043 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4044 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4045 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4046 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4047 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4048 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4049 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4050 * @retval None
AnnaBridge 163:e59c8e839560 4051 */
AnnaBridge 163:e59c8e839560 4052 __STATIC_INLINE void LL_HRTIM_TIM_EnableDeadTime(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4053 {
AnnaBridge 163:e59c8e839560 4054 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4055 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4056 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4057 SET_BIT(*pReg, HRTIM_OUTR_DTEN);
AnnaBridge 163:e59c8e839560 4058 }
AnnaBridge 163:e59c8e839560 4059
AnnaBridge 163:e59c8e839560 4060 /**
AnnaBridge 163:e59c8e839560 4061 * @brief Disable deadtime insertion for a given timer.
AnnaBridge 163:e59c8e839560 4062 * @rmtoll OUTxR DTEN LL_HRTIM_TIM_DisableDeadTime
AnnaBridge 163:e59c8e839560 4063 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4064 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4065 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4066 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4067 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4068 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4069 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4070 * @retval None
AnnaBridge 163:e59c8e839560 4071 */
AnnaBridge 163:e59c8e839560 4072 __STATIC_INLINE void LL_HRTIM_TIM_DisableDeadTime(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4073 {
AnnaBridge 163:e59c8e839560 4074 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4075 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4076 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4077 CLEAR_BIT(*pReg, HRTIM_OUTR_DTEN);
AnnaBridge 163:e59c8e839560 4078 }
AnnaBridge 163:e59c8e839560 4079
AnnaBridge 163:e59c8e839560 4080 /**
AnnaBridge 163:e59c8e839560 4081 * @brief Indicate whether deadtime insertion is enabled for a given timer.
AnnaBridge 163:e59c8e839560 4082 * @rmtoll OUTxR DTEN LL_HRTIM_TIM_IsEnabledDeadTime
AnnaBridge 163:e59c8e839560 4083 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4084 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4085 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4086 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4087 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4088 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4089 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4090 * @retval State of DTEN bit in HRTIM_OUTxR register (1 or 0).
AnnaBridge 163:e59c8e839560 4091 */
AnnaBridge 163:e59c8e839560 4092 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledDeadTime(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4093 {
AnnaBridge 163:e59c8e839560 4094 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4095 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4096 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4097 return (READ_BIT(*pReg, HRTIM_OUTR_DTEN) == HRTIM_OUTR_DTEN);
AnnaBridge 163:e59c8e839560 4098 }
AnnaBridge 163:e59c8e839560 4099
AnnaBridge 163:e59c8e839560 4100 /**
AnnaBridge 163:e59c8e839560 4101 * @brief Set the delayed protection (DLYPRT) mode.
AnnaBridge 163:e59c8e839560 4102 * @rmtoll OUTxR DLYPRTEN LL_HRTIM_TIM_SetDLYPRTMode\n
AnnaBridge 163:e59c8e839560 4103 * OUTxR DLYPRT LL_HRTIM_TIM_SetDLYPRTMode
AnnaBridge 163:e59c8e839560 4104 * @note This function must be called prior enabling the delayed protection
AnnaBridge 163:e59c8e839560 4105 * @note Balanced Idle mode is only available in push-pull mode
AnnaBridge 163:e59c8e839560 4106 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4107 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4108 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4109 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4110 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4111 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4112 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4113 * @param DLYPRTMode Delayed protection (DLYPRT) mode
AnnaBridge 163:e59c8e839560 4114 *
AnnaBridge 163:e59c8e839560 4115 * For timers A, B and C this parameter can be one of the following vallues:
AnnaBridge 163:e59c8e839560 4116 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV6
AnnaBridge 163:e59c8e839560 4117 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV6
AnnaBridge 163:e59c8e839560 4118 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV6
AnnaBridge 163:e59c8e839560 4119 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV6
AnnaBridge 163:e59c8e839560 4120 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV7
AnnaBridge 163:e59c8e839560 4121 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV7
AnnaBridge 163:e59c8e839560 4122 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV7
AnnaBridge 163:e59c8e839560 4123 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV7
AnnaBridge 163:e59c8e839560 4124 *
AnnaBridge 163:e59c8e839560 4125 * For timers D and E this parameter can be one of the following vallues:
AnnaBridge 163:e59c8e839560 4126 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV8
AnnaBridge 163:e59c8e839560 4127 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV8
AnnaBridge 163:e59c8e839560 4128 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV8
AnnaBridge 163:e59c8e839560 4129 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV8
AnnaBridge 163:e59c8e839560 4130 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV9
AnnaBridge 163:e59c8e839560 4131 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV9
AnnaBridge 163:e59c8e839560 4132 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV9
AnnaBridge 163:e59c8e839560 4133 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV9
AnnaBridge 163:e59c8e839560 4134 * @retval None
AnnaBridge 163:e59c8e839560 4135 */
AnnaBridge 163:e59c8e839560 4136 __STATIC_INLINE void LL_HRTIM_TIM_SetDLYPRTMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t DLYPRTMode)
AnnaBridge 163:e59c8e839560 4137 {
AnnaBridge 163:e59c8e839560 4138 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4139 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4140 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4141 MODIFY_REG(*pReg, HRTIM_OUTR_DLYPRT, DLYPRTMode);
AnnaBridge 163:e59c8e839560 4142 }
AnnaBridge 163:e59c8e839560 4143
AnnaBridge 163:e59c8e839560 4144 /**
AnnaBridge 163:e59c8e839560 4145 * @brief Get the delayed protection (DLYPRT) mode.
AnnaBridge 163:e59c8e839560 4146 * @rmtoll OUTxR DLYPRTEN LL_HRTIM_TIM_GetDLYPRTMode\n
AnnaBridge 163:e59c8e839560 4147 * OUTxR DLYPRT LL_HRTIM_TIM_GetDLYPRTMode
AnnaBridge 163:e59c8e839560 4148 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4149 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4150 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4151 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4152 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4153 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4154 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4155 * @retval DLYPRTMode Delayed protection (DLYPRT) mode
AnnaBridge 163:e59c8e839560 4156 *
AnnaBridge 163:e59c8e839560 4157 * For timers A, B and C this parameter can be one of the following vallues:
AnnaBridge 163:e59c8e839560 4158 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV6
AnnaBridge 163:e59c8e839560 4159 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV6
AnnaBridge 163:e59c8e839560 4160 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV6
AnnaBridge 163:e59c8e839560 4161 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV6
AnnaBridge 163:e59c8e839560 4162 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV7
AnnaBridge 163:e59c8e839560 4163 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV7
AnnaBridge 163:e59c8e839560 4164 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV7
AnnaBridge 163:e59c8e839560 4165 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV7
AnnaBridge 163:e59c8e839560 4166 *
AnnaBridge 163:e59c8e839560 4167 * For timers D and E this parameter can be one of the following vallues:
AnnaBridge 163:e59c8e839560 4168 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV8
AnnaBridge 163:e59c8e839560 4169 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV8
AnnaBridge 163:e59c8e839560 4170 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV8
AnnaBridge 163:e59c8e839560 4171 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV8
AnnaBridge 163:e59c8e839560 4172 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT1_EEV9
AnnaBridge 163:e59c8e839560 4173 * @arg @ref LL_HRTIM_DLYPRT_DELAYOUT2_EEV9
AnnaBridge 163:e59c8e839560 4174 * @arg @ref LL_HRTIM_DLYPRT_DELAYBOTH_EEV9
AnnaBridge 163:e59c8e839560 4175 * @arg @ref LL_HRTIM_DLYPRT_BALANCED_EEV9
AnnaBridge 163:e59c8e839560 4176 */
AnnaBridge 163:e59c8e839560 4177 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetDLYPRTMode(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4178 {
AnnaBridge 163:e59c8e839560 4179 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4180 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4181 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4182 return (READ_BIT(*pReg, HRTIM_OUTR_DLYPRT));
AnnaBridge 163:e59c8e839560 4183 }
AnnaBridge 163:e59c8e839560 4184
AnnaBridge 163:e59c8e839560 4185 /**
AnnaBridge 163:e59c8e839560 4186 * @brief Enable delayed protection (DLYPRT) for a given timer.
AnnaBridge 163:e59c8e839560 4187 * @rmtoll OUTxR DLYPRTEN LL_HRTIM_TIM_EnableDLYPRT
AnnaBridge 163:e59c8e839560 4188 * @note This function must not be called once the concerned timer is enabled
AnnaBridge 163:e59c8e839560 4189 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4190 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4191 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4192 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4193 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4194 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4195 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4196 * @retval None
AnnaBridge 163:e59c8e839560 4197 */
AnnaBridge 163:e59c8e839560 4198 __STATIC_INLINE void LL_HRTIM_TIM_EnableDLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4199 {
AnnaBridge 163:e59c8e839560 4200 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4201 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4202 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4203 SET_BIT(*pReg, HRTIM_OUTR_DLYPRTEN);
AnnaBridge 163:e59c8e839560 4204 }
AnnaBridge 163:e59c8e839560 4205
AnnaBridge 163:e59c8e839560 4206 /**
AnnaBridge 163:e59c8e839560 4207 * @brief Disable delayed protection (DLYPRT) for a given timer.
AnnaBridge 163:e59c8e839560 4208 * @rmtoll OUTxR DLYPRTEN LL_HRTIM_TIM_DisableDLYPRT
AnnaBridge 163:e59c8e839560 4209 * @note This function must not be called once the concerned timer is enabled
AnnaBridge 163:e59c8e839560 4210 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4211 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4212 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4213 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4214 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4215 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4216 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4217 * @retval None
AnnaBridge 163:e59c8e839560 4218 */
AnnaBridge 163:e59c8e839560 4219 __STATIC_INLINE void LL_HRTIM_TIM_DisableDLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4220 {
AnnaBridge 163:e59c8e839560 4221 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4222 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4223 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4224 CLEAR_BIT(*pReg, HRTIM_OUTR_DLYPRTEN);
AnnaBridge 163:e59c8e839560 4225 }
AnnaBridge 163:e59c8e839560 4226
AnnaBridge 163:e59c8e839560 4227 /**
AnnaBridge 163:e59c8e839560 4228 * @brief Indicate whether delayed protection (DLYPRT) is enabled for a given timer.
AnnaBridge 163:e59c8e839560 4229 * @rmtoll OUTxR DLYPRTEN LL_HRTIM_TIM_IsEnabledDLYPRT
AnnaBridge 163:e59c8e839560 4230 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4231 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4232 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4233 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4234 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4235 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4236 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4237 * @retval State of DLYPRTEN bit in HRTIM_OUTxR register (1 or 0).
AnnaBridge 163:e59c8e839560 4238 */
AnnaBridge 163:e59c8e839560 4239 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledDLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4240 {
AnnaBridge 163:e59c8e839560 4241 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4242 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 4243 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4244 return (READ_BIT(*pReg, HRTIM_OUTR_DLYPRTEN) == HRTIM_OUTR_DLYPRTEN);
AnnaBridge 163:e59c8e839560 4245 }
AnnaBridge 163:e59c8e839560 4246
AnnaBridge 163:e59c8e839560 4247 /**
AnnaBridge 163:e59c8e839560 4248 * @brief Enable the fault channel(s) for a given timer.
AnnaBridge 163:e59c8e839560 4249 * @rmtoll FLTxR FLT1EN LL_HRTIM_TIM_EnableFault\n
AnnaBridge 163:e59c8e839560 4250 * FLTxR FLT2EN LL_HRTIM_TIM_EnableFault\n
AnnaBridge 163:e59c8e839560 4251 * FLTxR FLT3EN LL_HRTIM_TIM_EnableFault\n
AnnaBridge 163:e59c8e839560 4252 * FLTxR FLT4EN LL_HRTIM_TIM_EnableFault\n
AnnaBridge 163:e59c8e839560 4253 * FLTxR FLT5EN LL_HRTIM_TIM_EnableFault
AnnaBridge 163:e59c8e839560 4254 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4255 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4256 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4257 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4258 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4259 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4260 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4261 * @param Faults This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 4262 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 4263 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 4264 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 4265 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 4266 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 4267 * @retval None
AnnaBridge 163:e59c8e839560 4268 */
AnnaBridge 163:e59c8e839560 4269 __STATIC_INLINE void LL_HRTIM_TIM_EnableFault(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Faults)
AnnaBridge 163:e59c8e839560 4270 {
AnnaBridge 163:e59c8e839560 4271 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4272 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].FLTxR) +
AnnaBridge 163:e59c8e839560 4273 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4274 SET_BIT(*pReg, Faults);
AnnaBridge 163:e59c8e839560 4275 }
AnnaBridge 163:e59c8e839560 4276
AnnaBridge 163:e59c8e839560 4277 /**
AnnaBridge 163:e59c8e839560 4278 * @brief Disable the fault channel(s) for a given timer.
AnnaBridge 163:e59c8e839560 4279 * @rmtoll FLTxR FLT1EN LL_HRTIM_TIM_DisableFault\n
AnnaBridge 163:e59c8e839560 4280 * FLTxR FLT2EN LL_HRTIM_TIM_DisableFault\n
AnnaBridge 163:e59c8e839560 4281 * FLTxR FLT3EN LL_HRTIM_TIM_DisableFault\n
AnnaBridge 163:e59c8e839560 4282 * FLTxR FLT4EN LL_HRTIM_TIM_DisableFault\n
AnnaBridge 163:e59c8e839560 4283 * FLTxR FLT5EN LL_HRTIM_TIM_DisableFault
AnnaBridge 163:e59c8e839560 4284 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4285 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4286 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4287 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4288 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4289 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4290 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4291 * @param Faults This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 4292 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 4293 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 4294 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 4295 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 4296 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 4297 * @retval None
AnnaBridge 163:e59c8e839560 4298 */
AnnaBridge 163:e59c8e839560 4299 __STATIC_INLINE void LL_HRTIM_TIM_DisableFault(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Faults)
AnnaBridge 163:e59c8e839560 4300 {
AnnaBridge 163:e59c8e839560 4301 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4302 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].FLTxR) +
AnnaBridge 163:e59c8e839560 4303 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4304 CLEAR_BIT(*pReg, Faults);
AnnaBridge 163:e59c8e839560 4305 }
AnnaBridge 163:e59c8e839560 4306
AnnaBridge 163:e59c8e839560 4307 /**
AnnaBridge 163:e59c8e839560 4308 * @brief Indicate whether the fault channel is enabled for a given timer.
AnnaBridge 163:e59c8e839560 4309 * @rmtoll FLTxR FLT1EN LL_HRTIM_TIM_IsEnabledFault\n
AnnaBridge 163:e59c8e839560 4310 * FLTxR FLT2EN LL_HRTIM_TIM_IsEnabledFault\n
AnnaBridge 163:e59c8e839560 4311 * FLTxR FLT3EN LL_HRTIM_TIM_IsEnabledFault\n
AnnaBridge 163:e59c8e839560 4312 * FLTxR FLT4EN LL_HRTIM_TIM_IsEnabledFault\n
AnnaBridge 163:e59c8e839560 4313 * FLTxR FLT5EN LL_HRTIM_TIM_IsEnabledFault
AnnaBridge 163:e59c8e839560 4314 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4315 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4316 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4317 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4318 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4319 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4320 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4321 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4322 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 4323 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 4324 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 4325 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 4326 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 4327 * @retval State of FLTxEN bit in HRTIM_FLTxR register (1 or 0).
AnnaBridge 163:e59c8e839560 4328 */
AnnaBridge 163:e59c8e839560 4329 __STATIC_INLINE uint32_t LL_HRTIM_TIM_IsEnabledFault(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Fault)
AnnaBridge 163:e59c8e839560 4330 {
AnnaBridge 163:e59c8e839560 4331 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4332 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].FLTxR) +
AnnaBridge 163:e59c8e839560 4333 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4334 return (READ_BIT(*pReg, Fault) == (Fault));
AnnaBridge 163:e59c8e839560 4335 }
AnnaBridge 163:e59c8e839560 4336
AnnaBridge 163:e59c8e839560 4337 /**
AnnaBridge 163:e59c8e839560 4338 * @brief Lock the fault conditioning set-up for a given timer.
AnnaBridge 163:e59c8e839560 4339 * @rmtoll FLTxR FLTLCK LL_HRTIM_TIM_LockFault
AnnaBridge 163:e59c8e839560 4340 * @note Timer fault-related set-up is frozen until the next HRTIM or system reset
AnnaBridge 163:e59c8e839560 4341 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4342 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4343 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4344 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4345 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4346 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4347 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4348 * @retval None
AnnaBridge 163:e59c8e839560 4349 */
AnnaBridge 163:e59c8e839560 4350 __STATIC_INLINE void LL_HRTIM_TIM_LockFault(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4351 {
AnnaBridge 163:e59c8e839560 4352 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4353 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].FLTxR) +
AnnaBridge 163:e59c8e839560 4354 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4355 SET_BIT(*pReg, HRTIM_FLTR_FLTLCK);
AnnaBridge 163:e59c8e839560 4356 }
AnnaBridge 163:e59c8e839560 4357
AnnaBridge 163:e59c8e839560 4358 /**
AnnaBridge 163:e59c8e839560 4359 * @brief Define how the timer behaves during a burst mode operation.
AnnaBridge 163:e59c8e839560 4360 * @rmtoll BMCR MTBM LL_HRTIM_TIM_SetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4361 * BMCR TABM LL_HRTIM_TIM_SetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4362 * BMCR TBBM LL_HRTIM_TIM_SetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4363 * BMCR TCBM LL_HRTIM_TIM_SetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4364 * BMCR TDBM LL_HRTIM_TIM_SetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4365 * BMCR TEBM LL_HRTIM_TIM_SetBurstModeOption
AnnaBridge 163:e59c8e839560 4366 * @note This function must not be called when the burst mode is enabled
AnnaBridge 163:e59c8e839560 4367 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4368 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4369 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 4370 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4371 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4372 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4373 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4374 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4375 * @param BurtsModeOption This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4376 * @arg @ref LL_HRTIM_BURSTMODE_MAINTAINCLOCK
AnnaBridge 163:e59c8e839560 4377 * @arg @ref LL_HRTIM_BURSTMODE_RESETCOUNTER
AnnaBridge 163:e59c8e839560 4378 * @retval None
AnnaBridge 163:e59c8e839560 4379 */
AnnaBridge 163:e59c8e839560 4380 __STATIC_INLINE void LL_HRTIM_TIM_SetBurstModeOption(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t BurtsModeOption)
AnnaBridge 163:e59c8e839560 4381 {
AnnaBridge 163:e59c8e839560 4382 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 4383 MODIFY_REG(HRTIMx->sCommonRegs.BMCR, Timer, BurtsModeOption << iTimer);
AnnaBridge 163:e59c8e839560 4384 }
AnnaBridge 163:e59c8e839560 4385
AnnaBridge 163:e59c8e839560 4386 /**
AnnaBridge 163:e59c8e839560 4387 * @brief Retrieve how the timer behaves during a burst mode operation.
AnnaBridge 163:e59c8e839560 4388 * @rmtoll BMCR MCR LL_HRTIM_TIM_GetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4389 * BMCR TABM LL_HRTIM_TIM_GetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4390 * BMCR TBBM LL_HRTIM_TIM_GetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4391 * BMCR TCBM LL_HRTIM_TIM_GetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4392 * BMCR TDBM LL_HRTIM_TIM_GetBurstModeOption\n
AnnaBridge 163:e59c8e839560 4393 * BMCR TEBM LL_HRTIM_TIM_GetBurstModeOption
AnnaBridge 163:e59c8e839560 4394 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4395 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4396 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 4397 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4398 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4399 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4400 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4401 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4402 * @retval BurtsMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4403 * @arg @ref LL_HRTIM_BURSTMODE_MAINTAINCLOCK
AnnaBridge 163:e59c8e839560 4404 * @arg @ref LL_HRTIM_BURSTMODE_RESETCOUNTER
AnnaBridge 163:e59c8e839560 4405 */
AnnaBridge 163:e59c8e839560 4406 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetBurstModeOption(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4407 {
AnnaBridge 163:e59c8e839560 4408 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 4409 return (READ_BIT(HRTIMx->sCommonRegs.BMCR, Timer) >> iTimer);
AnnaBridge 163:e59c8e839560 4410 }
AnnaBridge 163:e59c8e839560 4411
AnnaBridge 163:e59c8e839560 4412 /**
AnnaBridge 163:e59c8e839560 4413 * @brief Program which registers are to be written by Burst DMA transfers.
AnnaBridge 163:e59c8e839560 4414 * @rmtoll BDMUPDR MTBM LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4415 * BDMUPDR MICR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4416 * BDMUPDR MDIER LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4417 * BDMUPDR MCNT LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4418 * BDMUPDR MPER LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4419 * BDMUPDR MREP LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4420 * BDMUPDR MCMP1 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4421 * BDMUPDR MCMP2 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4422 * BDMUPDR MCMP3 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4423 * BDMUPDR MCMP4 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4424 * BDTxUPDR TIMxCR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4425 * BDTxUPDR TIMxICR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4426 * BDTxUPDR TIMxDIER LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4427 * BDTxUPDR TIMxCNT LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4428 * BDTxUPDR TIMxPER LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4429 * BDTxUPDR TIMxREP LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4430 * BDTxUPDR TIMxCMP1 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4431 * BDTxUPDR TIMxCMP2 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4432 * BDTxUPDR TIMxCMP3 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4433 * BDTxUPDR TIMxCMP4 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4434 * BDTxUPDR TIMxDTR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4435 * BDTxUPDR TIMxSET1R LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4436 * BDTxUPDR TIMxRST1R LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4437 * BDTxUPDR TIMxSET2R LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4438 * BDTxUPDR TIMxRST2R LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4439 * BDTxUPDR TIAEEFR1 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4440 * BDTxUPDR TIMxEEFR2 LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4441 * BDTxUPDR TIMxRSTR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4442 * BDTxUPDR TIMxOUTR LL_HRTIM_TIM_ConfigBurstDMA\n
AnnaBridge 163:e59c8e839560 4443 * BDTxUPDR TIMxLTCH LL_HRTIM_TIM_ConfigBurstDMA
AnnaBridge 163:e59c8e839560 4444 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4445 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4446 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 4447 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4448 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4449 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4450 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4451 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4452 * @param Registers Registers to be updated by the DMA request
AnnaBridge 163:e59c8e839560 4453 *
AnnaBridge 163:e59c8e839560 4454 * For Master timer this parameter can be can be a combination of the following values:
AnnaBridge 163:e59c8e839560 4455 * @arg @ref LL_HRTIM_BURSTDMA_NONE
AnnaBridge 163:e59c8e839560 4456 * @arg @ref LL_HRTIM_BURSTDMA_MCR
AnnaBridge 163:e59c8e839560 4457 * @arg @ref LL_HRTIM_BURSTDMA_MICR
AnnaBridge 163:e59c8e839560 4458 * @arg @ref LL_HRTIM_BURSTDMA_MDIER
AnnaBridge 163:e59c8e839560 4459 * @arg @ref LL_HRTIM_BURSTDMA_MCNT
AnnaBridge 163:e59c8e839560 4460 * @arg @ref LL_HRTIM_BURSTDMA_MPER
AnnaBridge 163:e59c8e839560 4461 * @arg @ref LL_HRTIM_BURSTDMA_MREP
AnnaBridge 163:e59c8e839560 4462 * @arg @ref LL_HRTIM_BURSTDMA_MCMP1
AnnaBridge 163:e59c8e839560 4463 * @arg @ref LL_HRTIM_BURSTDMA_MCMP2
AnnaBridge 163:e59c8e839560 4464 * @arg @ref LL_HRTIM_BURSTDMA_MCMP3
AnnaBridge 163:e59c8e839560 4465 * @arg @ref LL_HRTIM_BURSTDMA_MCMP4
AnnaBridge 163:e59c8e839560 4466 *
AnnaBridge 163:e59c8e839560 4467 * For Timers A..E this parameter can be can be a combination of the following values:
AnnaBridge 163:e59c8e839560 4468 * @arg @ref LL_HRTIM_BURSTDMA_NONE
AnnaBridge 163:e59c8e839560 4469 * @arg @ref LL_HRTIM_BURSTDMA_TIMMCR
AnnaBridge 163:e59c8e839560 4470 * @arg @ref LL_HRTIM_BURSTDMA_TIMICR
AnnaBridge 163:e59c8e839560 4471 * @arg @ref LL_HRTIM_BURSTDMA_TIMDIER
AnnaBridge 163:e59c8e839560 4472 * @arg @ref LL_HRTIM_BURSTDMA_TIMCNT
AnnaBridge 163:e59c8e839560 4473 * @arg @ref LL_HRTIM_BURSTDMA_TIMPER
AnnaBridge 163:e59c8e839560 4474 * @arg @ref LL_HRTIM_BURSTDMA_TIMREP
AnnaBridge 163:e59c8e839560 4475 * @arg @ref LL_HRTIM_BURSTDMA_TIMCMP1
AnnaBridge 163:e59c8e839560 4476 * @arg @ref LL_HRTIM_BURSTDMA_TIMCMP2
AnnaBridge 163:e59c8e839560 4477 * @arg @ref LL_HRTIM_BURSTDMA_TIMCMP3
AnnaBridge 163:e59c8e839560 4478 * @arg @ref LL_HRTIM_BURSTDMA_TIMCMP4
AnnaBridge 163:e59c8e839560 4479 * @arg @ref LL_HRTIM_BURSTDMA_TIMDTR
AnnaBridge 163:e59c8e839560 4480 * @arg @ref LL_HRTIM_BURSTDMA_TIMSET1R
AnnaBridge 163:e59c8e839560 4481 * @arg @ref LL_HRTIM_BURSTDMA_TIMRST1R
AnnaBridge 163:e59c8e839560 4482 * @arg @ref LL_HRTIM_BURSTDMA_TIMSET2R
AnnaBridge 163:e59c8e839560 4483 * @arg @ref LL_HRTIM_BURSTDMA_TIMRST2R
AnnaBridge 163:e59c8e839560 4484 * @arg @ref LL_HRTIM_BURSTDMA_TIMEEFR1
AnnaBridge 163:e59c8e839560 4485 * @arg @ref LL_HRTIM_BURSTDMA_TIMEEFR2
AnnaBridge 163:e59c8e839560 4486 * @arg @ref LL_HRTIM_BURSTDMA_TIMRSTR
AnnaBridge 163:e59c8e839560 4487 * @arg @ref LL_HRTIM_BURSTDMA_TIMCHPR
AnnaBridge 163:e59c8e839560 4488 * @arg @ref LL_HRTIM_BURSTDMA_TIMOUTR
AnnaBridge 163:e59c8e839560 4489 * @arg @ref LL_HRTIM_BURSTDMA_TIMFLTR
AnnaBridge 163:e59c8e839560 4490 * @retval None
AnnaBridge 163:e59c8e839560 4491 */
AnnaBridge 163:e59c8e839560 4492 __STATIC_INLINE void LL_HRTIM_TIM_ConfigBurstDMA(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Registers)
AnnaBridge 163:e59c8e839560 4493 {
AnnaBridge 163:e59c8e839560 4494 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 4495 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.BDMUPR) + 4 * iTimer));
AnnaBridge 163:e59c8e839560 4496 WRITE_REG(*pReg, Registers);
AnnaBridge 163:e59c8e839560 4497 }
AnnaBridge 163:e59c8e839560 4498
AnnaBridge 163:e59c8e839560 4499 /**
AnnaBridge 163:e59c8e839560 4500 * @brief Indicate on which output the signal is currently applied.
AnnaBridge 163:e59c8e839560 4501 * @rmtoll TIMxISR CPPSTAT LL_HRTIM_TIM_GetCurrentPushPullStatus
AnnaBridge 163:e59c8e839560 4502 * @note Only significant when the timer operates in push-pull mode.
AnnaBridge 163:e59c8e839560 4503 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4504 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4505 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4506 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4507 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4508 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4509 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4510 * @retval CPPSTAT This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4511 * @arg @ref LL_HRTIM_CPPSTAT_OUTPUT1
AnnaBridge 163:e59c8e839560 4512 * @arg @ref LL_HRTIM_CPPSTAT_OUTPUT2
AnnaBridge 163:e59c8e839560 4513 */
AnnaBridge 163:e59c8e839560 4514 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetCurrentPushPullStatus(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4515 {
AnnaBridge 163:e59c8e839560 4516 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 4517 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 4518 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4519 return (READ_BIT(*pReg, HRTIM_TIMISR_CPPSTAT));
AnnaBridge 163:e59c8e839560 4520 }
AnnaBridge 163:e59c8e839560 4521
AnnaBridge 163:e59c8e839560 4522 /**
AnnaBridge 163:e59c8e839560 4523 * @brief Indicate on which output the signal was applied, in push-pull mode, balanced fault mode or delayed idle mode, when the protection was triggered.
AnnaBridge 163:e59c8e839560 4524 * @rmtoll TIMxISR IPPSTAT LL_HRTIM_TIM_GetIdlePushPullStatus
AnnaBridge 163:e59c8e839560 4525 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4526 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4527 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4528 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4529 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4530 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4531 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4532 * @retval IPPSTAT This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4533 * @arg @ref LL_HRTIM_IPPSTAT_OUTPUT1
AnnaBridge 163:e59c8e839560 4534 * @arg @ref LL_HRTIM_IPPSTAT_OUTPUT2
AnnaBridge 163:e59c8e839560 4535 */
AnnaBridge 163:e59c8e839560 4536 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetIdlePushPullStatus(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4537 {
AnnaBridge 163:e59c8e839560 4538 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 4539 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 4540 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4541 return (READ_BIT(*pReg, HRTIM_TIMISR_IPPSTAT));
AnnaBridge 163:e59c8e839560 4542 }
AnnaBridge 163:e59c8e839560 4543
AnnaBridge 163:e59c8e839560 4544 /**
AnnaBridge 163:e59c8e839560 4545 * @brief Set the event filter for a given timer.
AnnaBridge 163:e59c8e839560 4546 * @rmtoll EEFxR1 EE1LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4547 * EEFxR1 EE2LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4548 * EEFxR1 EE3LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4549 * EEFxR1 EE4LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4550 * EEFxR1 EE5LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4551 * EEFxR2 EE6LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4552 * EEFxR2 EE7LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4553 * EEFxR2 EE8LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4554 * EEFxR2 EE9LTCH LL_HRTIM_TIM_SetEventFilter\n
AnnaBridge 163:e59c8e839560 4555 * EEFxR2 EE10LTCH LL_HRTIM_TIM_SetEventFilter
AnnaBridge 163:e59c8e839560 4556 * @note This function must not be called when the timer counter is enabled.
AnnaBridge 163:e59c8e839560 4557 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4558 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4559 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4560 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4561 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4562 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4563 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4564 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4565 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 4566 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 4567 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 4568 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 4569 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 4570 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 4571 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 4572 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 4573 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 4574 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 4575 * @param Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4576 * @arg @ref LL_HRTIM_EEFLTR_NONE
AnnaBridge 163:e59c8e839560 4577 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP1
AnnaBridge 163:e59c8e839560 4578 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP2
AnnaBridge 163:e59c8e839560 4579 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP3
AnnaBridge 163:e59c8e839560 4580 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP4
AnnaBridge 163:e59c8e839560 4581 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR1
AnnaBridge 163:e59c8e839560 4582 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR2
AnnaBridge 163:e59c8e839560 4583 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR3
AnnaBridge 163:e59c8e839560 4584 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR4
AnnaBridge 163:e59c8e839560 4585 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR5
AnnaBridge 163:e59c8e839560 4586 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR6
AnnaBridge 163:e59c8e839560 4587 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR7
AnnaBridge 163:e59c8e839560 4588 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR8
AnnaBridge 163:e59c8e839560 4589 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGCMP2
AnnaBridge 163:e59c8e839560 4590 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGCMP3
AnnaBridge 163:e59c8e839560 4591 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGTIM
AnnaBridge 163:e59c8e839560 4592 * @retval None
AnnaBridge 163:e59c8e839560 4593 */
AnnaBridge 163:e59c8e839560 4594 __STATIC_INLINE void LL_HRTIM_TIM_SetEventFilter(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Event, uint32_t Filter)
AnnaBridge 163:e59c8e839560 4595 {
AnnaBridge 163:e59c8e839560 4596 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - POSITION_VAL(LL_HRTIM_TIMER_A));
AnnaBridge 163:e59c8e839560 4597 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 4598 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].EEFxR1) +
AnnaBridge 163:e59c8e839560 4599 REG_OFFSET_TAB_TIMER[iTimer] + REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 4600 MODIFY_REG(*pReg, (HRTIM_EEFR1_EE1FLTR << REG_SHIFT_TAB_EExSRC[iEvent]), (Filter << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 4601 }
AnnaBridge 163:e59c8e839560 4602
AnnaBridge 163:e59c8e839560 4603 /**
AnnaBridge 163:e59c8e839560 4604 * @brief Get actual event filter settings for a given timer.
AnnaBridge 163:e59c8e839560 4605 * @rmtoll EEFxR1 EE1FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4606 * EEFxR1 EE2FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4607 * EEFxR1 EE3FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4608 * EEFxR1 EE4FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4609 * EEFxR1 EE5FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4610 * EEFxR2 EE6FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4611 * EEFxR2 EE7FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4612 * EEFxR2 EE8FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4613 * EEFxR2 EE9FLTR LL_HRTIM_TIM_GetEventFilter\n
AnnaBridge 163:e59c8e839560 4614 * EEFxR2 EE10FLTR LL_HRTIM_TIM_GetEventFilter
AnnaBridge 163:e59c8e839560 4615 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4616 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4617 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4618 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4619 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4620 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4621 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4622 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4623 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 4624 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 4625 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 4626 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 4627 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 4628 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 4629 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 4630 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 4631 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 4632 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 4633 * @retval Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4634 * @arg @ref LL_HRTIM_EEFLTR_NONE
AnnaBridge 163:e59c8e839560 4635 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP1
AnnaBridge 163:e59c8e839560 4636 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP2
AnnaBridge 163:e59c8e839560 4637 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP3
AnnaBridge 163:e59c8e839560 4638 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGCMP4
AnnaBridge 163:e59c8e839560 4639 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR1
AnnaBridge 163:e59c8e839560 4640 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR2
AnnaBridge 163:e59c8e839560 4641 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR3
AnnaBridge 163:e59c8e839560 4642 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR4
AnnaBridge 163:e59c8e839560 4643 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR5
AnnaBridge 163:e59c8e839560 4644 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR6
AnnaBridge 163:e59c8e839560 4645 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR7
AnnaBridge 163:e59c8e839560 4646 * @arg @ref LL_HRTIM_EEFLTR_BLANKINGFLTR8
AnnaBridge 163:e59c8e839560 4647 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGCMP2
AnnaBridge 163:e59c8e839560 4648 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGCMP3
AnnaBridge 163:e59c8e839560 4649 * @arg @ref LL_HRTIM_EEFLTR_WINDOWINGTIM
AnnaBridge 163:e59c8e839560 4650 */
AnnaBridge 163:e59c8e839560 4651 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetEventFilter(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Event)
AnnaBridge 163:e59c8e839560 4652 {
AnnaBridge 163:e59c8e839560 4653 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - POSITION_VAL(LL_HRTIM_TIMER_A));
AnnaBridge 163:e59c8e839560 4654 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 4655 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].EEFxR1) +
AnnaBridge 163:e59c8e839560 4656 REG_OFFSET_TAB_TIMER[iTimer] + REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 4657 return (READ_BIT(*pReg, HRTIM_EEFR1_EE1FLTR << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 4658 }
AnnaBridge 163:e59c8e839560 4659
AnnaBridge 163:e59c8e839560 4660 /**
AnnaBridge 163:e59c8e839560 4661 * @brief Enable or disable event latch mechanism for a given timer.
AnnaBridge 163:e59c8e839560 4662 * @rmtoll EEFxR1 EE1LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4663 * EEFxR1 EE2LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4664 * EEFxR1 EE3LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4665 * EEFxR1 EE4LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4666 * EEFxR1 EE5LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4667 * EEFxR2 EE6LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4668 * EEFxR2 EE7LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4669 * EEFxR2 EE8LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4670 * EEFxR2 EE9LTCH LL_HRTIM_TIM_SetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4671 * EEFxR2 EE10LTCH LL_HRTIM_TIM_SetEventLatchStatus
AnnaBridge 163:e59c8e839560 4672 * @note This function must not be called when the timer counter is enabled.
AnnaBridge 163:e59c8e839560 4673 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4674 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4675 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4676 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4677 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4678 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4679 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4680 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4681 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 4682 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 4683 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 4684 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 4685 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 4686 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 4687 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 4688 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 4689 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 4690 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 4691 * @param LatchStatus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4692 * @arg @ref LL_HRTIM_EELATCH_DISABLED
AnnaBridge 163:e59c8e839560 4693 * @arg @ref LL_HRTIM_EELATCH_ENABLED
AnnaBridge 163:e59c8e839560 4694 * @retval None
AnnaBridge 163:e59c8e839560 4695 */
AnnaBridge 163:e59c8e839560 4696 __STATIC_INLINE void LL_HRTIM_TIM_SetEventLatchStatus(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Event,
AnnaBridge 163:e59c8e839560 4697 uint32_t LatchStatus)
AnnaBridge 163:e59c8e839560 4698 {
AnnaBridge 163:e59c8e839560 4699 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - POSITION_VAL(LL_HRTIM_TIMER_A));
AnnaBridge 163:e59c8e839560 4700 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 4701 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].EEFxR1) +
AnnaBridge 163:e59c8e839560 4702 REG_OFFSET_TAB_TIMER[iTimer] + REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 4703 MODIFY_REG(*pReg, (HRTIM_EEFR1_EE1LTCH << REG_SHIFT_TAB_EExSRC[iEvent]), (LatchStatus << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 4704 }
AnnaBridge 163:e59c8e839560 4705
AnnaBridge 163:e59c8e839560 4706 /**
AnnaBridge 163:e59c8e839560 4707 * @brief Get actual event latch status for a given timer.
AnnaBridge 163:e59c8e839560 4708 * @rmtoll EEFxR1 EE1LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4709 * EEFxR1 EE2LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4710 * EEFxR1 EE3LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4711 * EEFxR1 EE4LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4712 * EEFxR1 EE5LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4713 * EEFxR2 EE6LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4714 * EEFxR2 EE7LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4715 * EEFxR2 EE8LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4716 * EEFxR2 EE9LTCH LL_HRTIM_TIM_GetEventLatchStatus\n
AnnaBridge 163:e59c8e839560 4717 * EEFxR2 EE10LTCH LL_HRTIM_TIM_GetEventLatchStatus
AnnaBridge 163:e59c8e839560 4718 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4719 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4720 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4721 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4722 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4723 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4724 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4725 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4726 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 4727 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 4728 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 4729 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 4730 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 4731 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 4732 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 4733 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 4734 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 4735 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 4736 * @retval LatchStatus This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4737 * @arg @ref LL_HRTIM_EELATCH_DISABLED
AnnaBridge 163:e59c8e839560 4738 * @arg @ref LL_HRTIM_EELATCH_ENABLED
AnnaBridge 163:e59c8e839560 4739 */
AnnaBridge 163:e59c8e839560 4740 __STATIC_INLINE uint32_t LL_HRTIM_TIM_GetEventLatchStatus(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Event)
AnnaBridge 163:e59c8e839560 4741 {
AnnaBridge 163:e59c8e839560 4742 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - POSITION_VAL(LL_HRTIM_TIMER_A));
AnnaBridge 163:e59c8e839560 4743 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 4744 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].EEFxR1) +
AnnaBridge 163:e59c8e839560 4745 REG_OFFSET_TAB_TIMER[iTimer] + REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 4746 return (READ_BIT(*pReg, HRTIM_EEFR1_EE1LTCH << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 4747 }
AnnaBridge 163:e59c8e839560 4748
AnnaBridge 163:e59c8e839560 4749 /**
AnnaBridge 163:e59c8e839560 4750 * @}
AnnaBridge 163:e59c8e839560 4751 */
AnnaBridge 163:e59c8e839560 4752
AnnaBridge 163:e59c8e839560 4753 /** @defgroup HRTIM_EF_Dead_Time_Configuration Dead_Time_Configuration
AnnaBridge 163:e59c8e839560 4754 * @{
AnnaBridge 163:e59c8e839560 4755 */
AnnaBridge 163:e59c8e839560 4756
AnnaBridge 163:e59c8e839560 4757 /**
AnnaBridge 163:e59c8e839560 4758 * @brief Configure the dead time insertion feature for a given timer.
AnnaBridge 163:e59c8e839560 4759 * @rmtoll DTxR DTPRSC LL_HRTIM_DT_Config\n
AnnaBridge 163:e59c8e839560 4760 * DTxR SDTF LL_HRTIM_DT_Config\n
AnnaBridge 163:e59c8e839560 4761 * DTxR SDRT LL_HRTIM_DT_Config
AnnaBridge 163:e59c8e839560 4762 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4763 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4764 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4765 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4766 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4767 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4768 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4769 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 4770 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL8 or ... or @ref LL_HRTIM_DT_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 4771 * @arg @ref LL_HRTIM_DT_RISING_POSITIVE or @ref LL_HRTIM_DT_RISING_NEGATIVE
AnnaBridge 163:e59c8e839560 4772 * @arg @ref LL_HRTIM_DT_FALLING_POSITIVE or @ref LL_HRTIM_DT_FALLING_NEGATIVE
AnnaBridge 163:e59c8e839560 4773 * @retval None
AnnaBridge 163:e59c8e839560 4774 */
AnnaBridge 163:e59c8e839560 4775 __STATIC_INLINE void LL_HRTIM_DT_Config(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 4776 {
AnnaBridge 163:e59c8e839560 4777 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4778 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4779 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4780 MODIFY_REG(*pReg, HRTIM_DTR_SDTF | HRTIM_DTR_DTPRSC | HRTIM_DTR_SDTR, Configuration);
AnnaBridge 163:e59c8e839560 4781 }
AnnaBridge 163:e59c8e839560 4782
AnnaBridge 163:e59c8e839560 4783 /**
AnnaBridge 163:e59c8e839560 4784 * @brief Set the deadtime prescaler value.
AnnaBridge 163:e59c8e839560 4785 * @rmtoll DTxR DTPRSC LL_HRTIM_DT_SetPrescaler
AnnaBridge 163:e59c8e839560 4786 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4787 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4788 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4789 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4790 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4791 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4792 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4793 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4794 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL8
AnnaBridge 163:e59c8e839560 4795 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL4
AnnaBridge 163:e59c8e839560 4796 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL2
AnnaBridge 163:e59c8e839560 4797 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 4798 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 4799 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 4800 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 4801 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 4802 * @retval None
AnnaBridge 163:e59c8e839560 4803 */
AnnaBridge 163:e59c8e839560 4804 __STATIC_INLINE void LL_HRTIM_DT_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 4805 {
AnnaBridge 163:e59c8e839560 4806 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4807 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4808 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4809 MODIFY_REG(*pReg, HRTIM_DTR_DTPRSC, Prescaler);
AnnaBridge 163:e59c8e839560 4810 }
AnnaBridge 163:e59c8e839560 4811
AnnaBridge 163:e59c8e839560 4812 /**
AnnaBridge 163:e59c8e839560 4813 * @brief Get actual deadtime prescaler value.
AnnaBridge 163:e59c8e839560 4814 * @rmtoll DTxR DTPRSC LL_HRTIM_DT_GetPrescaler
AnnaBridge 163:e59c8e839560 4815 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4816 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4817 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4818 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4819 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4820 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4821 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4822 * @retval Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4823 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL8
AnnaBridge 163:e59c8e839560 4824 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL4
AnnaBridge 163:e59c8e839560 4825 * @arg @ref LL_HRTIM_DT_PRESCALER_MUL2
AnnaBridge 163:e59c8e839560 4826 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 4827 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 4828 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 4829 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 4830 * @arg @ref LL_HRTIM_DT_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 4831 */
AnnaBridge 163:e59c8e839560 4832 __STATIC_INLINE uint32_t LL_HRTIM_DT_GetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4833 {
AnnaBridge 163:e59c8e839560 4834 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4835 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4836 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4837 return (READ_BIT(*pReg, HRTIM_DTR_DTPRSC));
AnnaBridge 163:e59c8e839560 4838 }
AnnaBridge 163:e59c8e839560 4839
AnnaBridge 163:e59c8e839560 4840 /**
AnnaBridge 163:e59c8e839560 4841 * @brief Set the deadtime rising value.
AnnaBridge 163:e59c8e839560 4842 * @rmtoll DTxR DTR LL_HRTIM_DT_SetRisingValue
AnnaBridge 163:e59c8e839560 4843 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4844 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4845 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4846 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4847 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4848 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4849 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4850 * @param RisingValue Value between 0 and 0x1FF
AnnaBridge 163:e59c8e839560 4851 * @retval None
AnnaBridge 163:e59c8e839560 4852 */
AnnaBridge 163:e59c8e839560 4853 __STATIC_INLINE void LL_HRTIM_DT_SetRisingValue(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t RisingValue)
AnnaBridge 163:e59c8e839560 4854 {
AnnaBridge 163:e59c8e839560 4855 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4856 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4857 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4858 MODIFY_REG(*pReg, HRTIM_DTR_DTR, RisingValue);
AnnaBridge 163:e59c8e839560 4859 }
AnnaBridge 163:e59c8e839560 4860
AnnaBridge 163:e59c8e839560 4861 /**
AnnaBridge 163:e59c8e839560 4862 * @brief Get actual deadtime rising value.
AnnaBridge 163:e59c8e839560 4863 * @rmtoll DTxR DTR LL_HRTIM_DT_GetRisingValue
AnnaBridge 163:e59c8e839560 4864 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4865 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4866 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4867 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4868 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4869 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4870 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4871 * @retval RisingValue Value between 0 and 0x1FF
AnnaBridge 163:e59c8e839560 4872 */
AnnaBridge 163:e59c8e839560 4873 __STATIC_INLINE uint32_t LL_HRTIM_DT_GetRisingValue(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4874 {
AnnaBridge 163:e59c8e839560 4875 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4876 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4877 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4878 return (READ_BIT(*pReg, HRTIM_DTR_DTR));
AnnaBridge 163:e59c8e839560 4879 }
AnnaBridge 163:e59c8e839560 4880
AnnaBridge 163:e59c8e839560 4881 /**
AnnaBridge 163:e59c8e839560 4882 * @brief Set the deadtime sign on rising edge.
AnnaBridge 163:e59c8e839560 4883 * @rmtoll DTxR SDTR LL_HRTIM_DT_SetRisingSign
AnnaBridge 163:e59c8e839560 4884 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4885 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4886 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4887 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4888 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4889 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4890 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4891 * @param RisingSign This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4892 * @arg @ref LL_HRTIM_DT_RISING_POSITIVE
AnnaBridge 163:e59c8e839560 4893 * @arg @ref LL_HRTIM_DT_RISING_NEGATIVE
AnnaBridge 163:e59c8e839560 4894 * @retval None
AnnaBridge 163:e59c8e839560 4895 */
AnnaBridge 163:e59c8e839560 4896 __STATIC_INLINE void LL_HRTIM_DT_SetRisingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t RisingSign)
AnnaBridge 163:e59c8e839560 4897 {
AnnaBridge 163:e59c8e839560 4898 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4899 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4900 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4901 MODIFY_REG(*pReg, HRTIM_DTR_SDTR, RisingSign);
AnnaBridge 163:e59c8e839560 4902 }
AnnaBridge 163:e59c8e839560 4903
AnnaBridge 163:e59c8e839560 4904 /**
AnnaBridge 163:e59c8e839560 4905 * @brief Get actual deadtime sign on rising edge.
AnnaBridge 163:e59c8e839560 4906 * @rmtoll DTxR SDTR LL_HRTIM_DT_GetRisingSign
AnnaBridge 163:e59c8e839560 4907 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4908 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4909 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4910 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4911 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4912 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4913 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4914 * @retval RisingSign This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4915 * @arg @ref LL_HRTIM_DT_RISING_POSITIVE
AnnaBridge 163:e59c8e839560 4916 * @arg @ref LL_HRTIM_DT_RISING_NEGATIVE
AnnaBridge 163:e59c8e839560 4917 */
AnnaBridge 163:e59c8e839560 4918 __STATIC_INLINE uint32_t LL_HRTIM_DT_GetRisingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4919 {
AnnaBridge 163:e59c8e839560 4920 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4921 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4922 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4923 return (READ_BIT(*pReg, HRTIM_DTR_SDTR));
AnnaBridge 163:e59c8e839560 4924 }
AnnaBridge 163:e59c8e839560 4925
AnnaBridge 163:e59c8e839560 4926 /**
AnnaBridge 163:e59c8e839560 4927 * @brief Set the deadime falling value.
AnnaBridge 163:e59c8e839560 4928 * @rmtoll DTxR DTF LL_HRTIM_DT_SetFallingValue
AnnaBridge 163:e59c8e839560 4929 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4930 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4931 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4932 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4933 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4934 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4935 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4936 * @param FallingValue Value between 0 and 0x1FF
AnnaBridge 163:e59c8e839560 4937 * @retval None
AnnaBridge 163:e59c8e839560 4938 */
AnnaBridge 163:e59c8e839560 4939 __STATIC_INLINE void LL_HRTIM_DT_SetFallingValue(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t FallingValue)
AnnaBridge 163:e59c8e839560 4940 {
AnnaBridge 163:e59c8e839560 4941 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4942 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4943 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4944 MODIFY_REG(*pReg, HRTIM_DTR_DTF, FallingValue << HRTIM_DTR_DTF_Pos);
AnnaBridge 163:e59c8e839560 4945 }
AnnaBridge 163:e59c8e839560 4946
AnnaBridge 163:e59c8e839560 4947 /**
AnnaBridge 163:e59c8e839560 4948 * @brief Get actual deadtime falling value
AnnaBridge 163:e59c8e839560 4949 * @rmtoll DTxR DTF LL_HRTIM_DT_GetFallingValue
AnnaBridge 163:e59c8e839560 4950 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4951 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4952 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4953 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4954 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4955 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4956 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4957 * @retval FallingValue Value between 0 and 0x1FF
AnnaBridge 163:e59c8e839560 4958 */
AnnaBridge 163:e59c8e839560 4959 __STATIC_INLINE uint32_t LL_HRTIM_DT_GetFallingValue(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 4960 {
AnnaBridge 163:e59c8e839560 4961 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4962 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4963 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4964 return ((READ_BIT(*pReg, HRTIM_DTR_DTF)) >> HRTIM_DTR_DTF_Pos);
AnnaBridge 163:e59c8e839560 4965 }
AnnaBridge 163:e59c8e839560 4966
AnnaBridge 163:e59c8e839560 4967 /**
AnnaBridge 163:e59c8e839560 4968 * @brief Set the deadtime sign on falling edge.
AnnaBridge 163:e59c8e839560 4969 * @rmtoll DTxR SDTF LL_HRTIM_DT_SetFallingSign
AnnaBridge 163:e59c8e839560 4970 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4971 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4972 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4973 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4974 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4975 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4976 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 4977 * @param FallingSign This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4978 * @arg @ref LL_HRTIM_DT_FALLING_POSITIVE
AnnaBridge 163:e59c8e839560 4979 * @arg @ref LL_HRTIM_DT_FALLING_NEGATIVE
AnnaBridge 163:e59c8e839560 4980 * @retval None
AnnaBridge 163:e59c8e839560 4981 */
AnnaBridge 163:e59c8e839560 4982 __STATIC_INLINE void LL_HRTIM_DT_SetFallingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t FallingSign)
AnnaBridge 163:e59c8e839560 4983 {
AnnaBridge 163:e59c8e839560 4984 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 4985 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 4986 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 4987 MODIFY_REG(*pReg, HRTIM_DTR_SDTF, FallingSign);
AnnaBridge 163:e59c8e839560 4988 }
AnnaBridge 163:e59c8e839560 4989
AnnaBridge 163:e59c8e839560 4990 /**
AnnaBridge 163:e59c8e839560 4991 * @brief Get actual deadtime sign on falling edge.
AnnaBridge 163:e59c8e839560 4992 * @rmtoll DTxR SDTF LL_HRTIM_DT_GetFallingSign
AnnaBridge 163:e59c8e839560 4993 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 4994 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 4995 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 4996 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 4997 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 4998 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 4999 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5000 * @retval FallingSign This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5001 * @arg @ref LL_HRTIM_DT_FALLING_POSITIVE
AnnaBridge 163:e59c8e839560 5002 * @arg @ref LL_HRTIM_DT_FALLING_NEGATIVE
AnnaBridge 163:e59c8e839560 5003 */
AnnaBridge 163:e59c8e839560 5004 __STATIC_INLINE uint32_t LL_HRTIM_DT_GetFallingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5005 {
AnnaBridge 163:e59c8e839560 5006 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5007 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 5008 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5009 return (READ_BIT(*pReg, HRTIM_DTR_SDTF));
AnnaBridge 163:e59c8e839560 5010 }
AnnaBridge 163:e59c8e839560 5011
AnnaBridge 163:e59c8e839560 5012 /**
AnnaBridge 163:e59c8e839560 5013 * @brief Lock the deadtime value and sign on rising edge.
AnnaBridge 163:e59c8e839560 5014 * @rmtoll DTxR DTRLK LL_HRTIM_DT_LockRising
AnnaBridge 163:e59c8e839560 5015 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5016 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5017 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5018 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5019 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5020 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5021 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5022 * @retval None
AnnaBridge 163:e59c8e839560 5023 */
AnnaBridge 163:e59c8e839560 5024 __STATIC_INLINE void LL_HRTIM_DT_LockRising(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5025 {
AnnaBridge 163:e59c8e839560 5026 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5027 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 5028 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5029 SET_BIT(*pReg, HRTIM_DTR_DTRLK);
AnnaBridge 163:e59c8e839560 5030 }
AnnaBridge 163:e59c8e839560 5031
AnnaBridge 163:e59c8e839560 5032 /**
AnnaBridge 163:e59c8e839560 5033 * @brief Lock the deadtime sign on rising edge.
AnnaBridge 163:e59c8e839560 5034 * @rmtoll DTxR DTRSLK LL_HRTIM_DT_LockRisingSign
AnnaBridge 163:e59c8e839560 5035 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5036 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5037 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5038 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5039 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5040 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5041 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5042 * @retval None
AnnaBridge 163:e59c8e839560 5043 */
AnnaBridge 163:e59c8e839560 5044 __STATIC_INLINE void LL_HRTIM_DT_LockRisingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5045 {
AnnaBridge 163:e59c8e839560 5046 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5047 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 5048 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5049 SET_BIT(*pReg, HRTIM_DTR_DTRSLK);
AnnaBridge 163:e59c8e839560 5050 }
AnnaBridge 163:e59c8e839560 5051
AnnaBridge 163:e59c8e839560 5052 /**
AnnaBridge 163:e59c8e839560 5053 * @brief Lock the deadtime value and sign on falling edge.
AnnaBridge 163:e59c8e839560 5054 * @rmtoll DTxR DTFLK LL_HRTIM_DT_LockFalling
AnnaBridge 163:e59c8e839560 5055 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5056 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5057 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5058 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5059 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5060 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5061 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5062 * @retval None
AnnaBridge 163:e59c8e839560 5063 */
AnnaBridge 163:e59c8e839560 5064 __STATIC_INLINE void LL_HRTIM_DT_LockFalling(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5065 {
AnnaBridge 163:e59c8e839560 5066 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5067 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 5068 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5069 SET_BIT(*pReg, HRTIM_DTR_DTFLK);
AnnaBridge 163:e59c8e839560 5070 }
AnnaBridge 163:e59c8e839560 5071
AnnaBridge 163:e59c8e839560 5072 /**
AnnaBridge 163:e59c8e839560 5073 * @brief Lock the deadtime sign on falling edge.
AnnaBridge 163:e59c8e839560 5074 * @rmtoll DTxR DTFSLK LL_HRTIM_DT_LockFallingSign
AnnaBridge 163:e59c8e839560 5075 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5076 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5077 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5078 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5079 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5080 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5081 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5082 * @retval None
AnnaBridge 163:e59c8e839560 5083 */
AnnaBridge 163:e59c8e839560 5084 __STATIC_INLINE void LL_HRTIM_DT_LockFallingSign(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5085 {
AnnaBridge 163:e59c8e839560 5086 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5087 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].DTxR) +
AnnaBridge 163:e59c8e839560 5088 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5089 SET_BIT(*pReg, HRTIM_DTR_DTFSLK);
AnnaBridge 163:e59c8e839560 5090 }
AnnaBridge 163:e59c8e839560 5091
AnnaBridge 163:e59c8e839560 5092 /**
AnnaBridge 163:e59c8e839560 5093 * @}
AnnaBridge 163:e59c8e839560 5094 */
AnnaBridge 163:e59c8e839560 5095
AnnaBridge 163:e59c8e839560 5096 /** @defgroup HRTIM_EF_Chopper_Mode_Configuration Chopper_Mode_Configuration
AnnaBridge 163:e59c8e839560 5097 * @{
AnnaBridge 163:e59c8e839560 5098 */
AnnaBridge 163:e59c8e839560 5099
AnnaBridge 163:e59c8e839560 5100 /**
AnnaBridge 163:e59c8e839560 5101 * @brief Configure the chopper stage for a given timer.
AnnaBridge 163:e59c8e839560 5102 * @rmtoll CHPxR CARFRQ LL_HRTIM_CHP_Config\n
AnnaBridge 163:e59c8e839560 5103 * CHPxR CARDTY LL_HRTIM_CHP_Config\n
AnnaBridge 163:e59c8e839560 5104 * CHPxR STRTPW LL_HRTIM_CHP_Config
AnnaBridge 163:e59c8e839560 5105 * @note This function must not be called if the chopper mode is already
AnnaBridge 163:e59c8e839560 5106 * enabled for one of the timer outputs.
AnnaBridge 163:e59c8e839560 5107 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5108 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5109 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5110 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5111 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5112 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5113 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5114 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 5115 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV16 or ... or @ref LL_HRTIM_CHP_PRESCALER_DIV256
AnnaBridge 163:e59c8e839560 5116 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_0 or ... or @ref LL_HRTIM_CHP_DUTYCYCLE_875
AnnaBridge 163:e59c8e839560 5117 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_16 or ... or @ref LL_HRTIM_CHP_PULSEWIDTH_256
AnnaBridge 163:e59c8e839560 5118 * @retval None
AnnaBridge 163:e59c8e839560 5119 */
AnnaBridge 163:e59c8e839560 5120 __STATIC_INLINE void LL_HRTIM_CHP_Config(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 5121 {
AnnaBridge 163:e59c8e839560 5122 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5123 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5124 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5125 MODIFY_REG(*pReg, HRTIM_CHPR_STRPW | HRTIM_CHPR_CARDTY | HRTIM_CHPR_CARFRQ, Configuration);
AnnaBridge 163:e59c8e839560 5126 }
AnnaBridge 163:e59c8e839560 5127
AnnaBridge 163:e59c8e839560 5128 /**
AnnaBridge 163:e59c8e839560 5129 * @brief Set prescaler determining the carrier frequency to be added on top
AnnaBridge 163:e59c8e839560 5130 * of the timer output signals when chopper mode is enabled.
AnnaBridge 163:e59c8e839560 5131 * @rmtoll CHPxR CARFRQ LL_HRTIM_CHP_SetPrescaler
AnnaBridge 163:e59c8e839560 5132 * @note This function must not be called if the chopper mode is already
AnnaBridge 163:e59c8e839560 5133 * enabled for one of the timer outputs.
AnnaBridge 163:e59c8e839560 5134 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5135 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5136 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5137 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5138 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5139 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5140 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5141 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5142 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 5143 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV32
AnnaBridge 163:e59c8e839560 5144 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV48
AnnaBridge 163:e59c8e839560 5145 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV64
AnnaBridge 163:e59c8e839560 5146 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV80
AnnaBridge 163:e59c8e839560 5147 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV96
AnnaBridge 163:e59c8e839560 5148 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV112
AnnaBridge 163:e59c8e839560 5149 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV128
AnnaBridge 163:e59c8e839560 5150 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV144
AnnaBridge 163:e59c8e839560 5151 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV160
AnnaBridge 163:e59c8e839560 5152 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV176
AnnaBridge 163:e59c8e839560 5153 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV192
AnnaBridge 163:e59c8e839560 5154 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV208
AnnaBridge 163:e59c8e839560 5155 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV224
AnnaBridge 163:e59c8e839560 5156 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV240
AnnaBridge 163:e59c8e839560 5157 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV256
AnnaBridge 163:e59c8e839560 5158 * @retval None
AnnaBridge 163:e59c8e839560 5159 */
AnnaBridge 163:e59c8e839560 5160 __STATIC_INLINE void LL_HRTIM_CHP_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 5161 {
AnnaBridge 163:e59c8e839560 5162 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5163 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5164 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5165 MODIFY_REG(*pReg, HRTIM_CHPR_CARFRQ, Prescaler);
AnnaBridge 163:e59c8e839560 5166 }
AnnaBridge 163:e59c8e839560 5167
AnnaBridge 163:e59c8e839560 5168 /**
AnnaBridge 163:e59c8e839560 5169 * @brief Get actual chopper stage prescaler value.
AnnaBridge 163:e59c8e839560 5170 * @rmtoll CHPxR CARFRQ LL_HRTIM_CHP_GetPrescaler
AnnaBridge 163:e59c8e839560 5171 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5172 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5173 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5174 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5175 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5176 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5177 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5178 * @retval Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5179 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 5180 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV32
AnnaBridge 163:e59c8e839560 5181 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV48
AnnaBridge 163:e59c8e839560 5182 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV64
AnnaBridge 163:e59c8e839560 5183 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV80
AnnaBridge 163:e59c8e839560 5184 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV96
AnnaBridge 163:e59c8e839560 5185 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV112
AnnaBridge 163:e59c8e839560 5186 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV128
AnnaBridge 163:e59c8e839560 5187 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV144
AnnaBridge 163:e59c8e839560 5188 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV160
AnnaBridge 163:e59c8e839560 5189 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV176
AnnaBridge 163:e59c8e839560 5190 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV192
AnnaBridge 163:e59c8e839560 5191 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV208
AnnaBridge 163:e59c8e839560 5192 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV224
AnnaBridge 163:e59c8e839560 5193 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV240
AnnaBridge 163:e59c8e839560 5194 * @arg @ref LL_HRTIM_CHP_PRESCALER_DIV256
AnnaBridge 163:e59c8e839560 5195 */
AnnaBridge 163:e59c8e839560 5196 __STATIC_INLINE uint32_t LL_HRTIM_CHP_GetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5197 {
AnnaBridge 163:e59c8e839560 5198 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5199 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5200 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5201 return (READ_BIT(*pReg, HRTIM_CHPR_CARFRQ));
AnnaBridge 163:e59c8e839560 5202 }
AnnaBridge 163:e59c8e839560 5203
AnnaBridge 163:e59c8e839560 5204 /**
AnnaBridge 163:e59c8e839560 5205 * @brief Set the chopper duty cycle.
AnnaBridge 163:e59c8e839560 5206 * @rmtoll CHPxR CARDTY LL_HRTIM_CHP_SetDutyCycle
AnnaBridge 163:e59c8e839560 5207 * @note Duty cycle can be adjusted by 1/8 step (from 0/8 up to 7/8)
AnnaBridge 163:e59c8e839560 5208 * @note This function must not be called if the chopper mode is already
AnnaBridge 163:e59c8e839560 5209 * enabled for one of the timer outputs.
AnnaBridge 163:e59c8e839560 5210 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5211 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5212 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5213 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5214 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5215 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5216 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5217 * @param DutyCycle This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5218 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_0
AnnaBridge 163:e59c8e839560 5219 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_125
AnnaBridge 163:e59c8e839560 5220 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_250
AnnaBridge 163:e59c8e839560 5221 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_375
AnnaBridge 163:e59c8e839560 5222 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_500
AnnaBridge 163:e59c8e839560 5223 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_625
AnnaBridge 163:e59c8e839560 5224 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_750
AnnaBridge 163:e59c8e839560 5225 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_875
AnnaBridge 163:e59c8e839560 5226 * @retval None
AnnaBridge 163:e59c8e839560 5227 */
AnnaBridge 163:e59c8e839560 5228 __STATIC_INLINE void LL_HRTIM_CHP_SetDutyCycle(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t DutyCycle)
AnnaBridge 163:e59c8e839560 5229 {
AnnaBridge 163:e59c8e839560 5230 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5231 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5232 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5233 MODIFY_REG(*pReg, HRTIM_CHPR_CARDTY, DutyCycle);
AnnaBridge 163:e59c8e839560 5234 }
AnnaBridge 163:e59c8e839560 5235
AnnaBridge 163:e59c8e839560 5236 /**
AnnaBridge 163:e59c8e839560 5237 * @brief Get actual chopper duty cycle.
AnnaBridge 163:e59c8e839560 5238 * @rmtoll CHPxR CARDTY LL_HRTIM_CHP_GetDutyCycle
AnnaBridge 163:e59c8e839560 5239 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5240 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5241 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5242 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5243 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5244 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5245 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5246 * @retval DutyCycle This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5247 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_0
AnnaBridge 163:e59c8e839560 5248 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_125
AnnaBridge 163:e59c8e839560 5249 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_250
AnnaBridge 163:e59c8e839560 5250 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_375
AnnaBridge 163:e59c8e839560 5251 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_500
AnnaBridge 163:e59c8e839560 5252 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_625
AnnaBridge 163:e59c8e839560 5253 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_750
AnnaBridge 163:e59c8e839560 5254 * @arg @ref LL_HRTIM_CHP_DUTYCYCLE_875
AnnaBridge 163:e59c8e839560 5255 */
AnnaBridge 163:e59c8e839560 5256 __STATIC_INLINE uint32_t LL_HRTIM_CHP_GetDutyCycle(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5257 {
AnnaBridge 163:e59c8e839560 5258 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5259 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5260 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5261 return (READ_BIT(*pReg, HRTIM_CHPR_CARDTY));
AnnaBridge 163:e59c8e839560 5262 }
AnnaBridge 163:e59c8e839560 5263
AnnaBridge 163:e59c8e839560 5264 /**
AnnaBridge 163:e59c8e839560 5265 * @brief Set the start pulse width.
AnnaBridge 163:e59c8e839560 5266 * @rmtoll CHPxR STRPW LL_HRTIM_CHP_SetPulseWidth
AnnaBridge 163:e59c8e839560 5267 * @note This function must not be called if the chopper mode is already
AnnaBridge 163:e59c8e839560 5268 * enabled for one of the timer outputs.
AnnaBridge 163:e59c8e839560 5269 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5270 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5271 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5272 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5273 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5274 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5275 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5276 * @param PulseWidth This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5277 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_16
AnnaBridge 163:e59c8e839560 5278 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_32
AnnaBridge 163:e59c8e839560 5279 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_48
AnnaBridge 163:e59c8e839560 5280 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_64
AnnaBridge 163:e59c8e839560 5281 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_80
AnnaBridge 163:e59c8e839560 5282 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_96
AnnaBridge 163:e59c8e839560 5283 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_112
AnnaBridge 163:e59c8e839560 5284 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_128
AnnaBridge 163:e59c8e839560 5285 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_144
AnnaBridge 163:e59c8e839560 5286 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_160
AnnaBridge 163:e59c8e839560 5287 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_176
AnnaBridge 163:e59c8e839560 5288 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_192
AnnaBridge 163:e59c8e839560 5289 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_208
AnnaBridge 163:e59c8e839560 5290 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_224
AnnaBridge 163:e59c8e839560 5291 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_240
AnnaBridge 163:e59c8e839560 5292 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_256
AnnaBridge 163:e59c8e839560 5293 * @retval None
AnnaBridge 163:e59c8e839560 5294 */
AnnaBridge 163:e59c8e839560 5295 __STATIC_INLINE void LL_HRTIM_CHP_SetPulseWidth(HRTIM_TypeDef *HRTIMx, uint32_t Timer, uint32_t PulseWidth)
AnnaBridge 163:e59c8e839560 5296 {
AnnaBridge 163:e59c8e839560 5297 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5298 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5299 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5300 MODIFY_REG(*pReg, HRTIM_CHPR_STRPW, PulseWidth);
AnnaBridge 163:e59c8e839560 5301 }
AnnaBridge 163:e59c8e839560 5302
AnnaBridge 163:e59c8e839560 5303 /**
AnnaBridge 163:e59c8e839560 5304 * @brief Get actual start pulse width.
AnnaBridge 163:e59c8e839560 5305 * @rmtoll CHPxR STRPW LL_HRTIM_CHP_GetPulseWidth
AnnaBridge 163:e59c8e839560 5306 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5307 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5308 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 5309 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 5310 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 5311 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 5312 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 5313 * @retval PulseWidth This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5314 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_16
AnnaBridge 163:e59c8e839560 5315 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_32
AnnaBridge 163:e59c8e839560 5316 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_48
AnnaBridge 163:e59c8e839560 5317 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_64
AnnaBridge 163:e59c8e839560 5318 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_80
AnnaBridge 163:e59c8e839560 5319 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_96
AnnaBridge 163:e59c8e839560 5320 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_112
AnnaBridge 163:e59c8e839560 5321 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_128
AnnaBridge 163:e59c8e839560 5322 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_144
AnnaBridge 163:e59c8e839560 5323 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_160
AnnaBridge 163:e59c8e839560 5324 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_176
AnnaBridge 163:e59c8e839560 5325 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_192
AnnaBridge 163:e59c8e839560 5326 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_208
AnnaBridge 163:e59c8e839560 5327 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_224
AnnaBridge 163:e59c8e839560 5328 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_240
AnnaBridge 163:e59c8e839560 5329 * @arg @ref LL_HRTIM_CHP_PULSEWIDTH_256
AnnaBridge 163:e59c8e839560 5330 */
AnnaBridge 163:e59c8e839560 5331 __STATIC_INLINE uint32_t LL_HRTIM_CHP_GetPulseWidth(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 5332 {
AnnaBridge 163:e59c8e839560 5333 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_TACEN_Pos);
AnnaBridge 163:e59c8e839560 5334 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].CHPxR) +
AnnaBridge 163:e59c8e839560 5335 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 5336 return (READ_BIT(*pReg, HRTIM_CHPR_STRPW));
AnnaBridge 163:e59c8e839560 5337 }
AnnaBridge 163:e59c8e839560 5338
AnnaBridge 163:e59c8e839560 5339 /**
AnnaBridge 163:e59c8e839560 5340 * @}
AnnaBridge 163:e59c8e839560 5341 */
AnnaBridge 163:e59c8e839560 5342
AnnaBridge 163:e59c8e839560 5343 /** @defgroup HRTIM_EF_Output_Management Output_Management
AnnaBridge 163:e59c8e839560 5344 * @{
AnnaBridge 163:e59c8e839560 5345 */
AnnaBridge 163:e59c8e839560 5346
AnnaBridge 163:e59c8e839560 5347 /**
AnnaBridge 163:e59c8e839560 5348 * @brief Set the timer output set source.
AnnaBridge 163:e59c8e839560 5349 * @rmtoll SETx1R SST LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5350 * SETx1R RESYNC LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5351 * SETx1R PER LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5352 * SETx1R CMP1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5353 * SETx1R CMP2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5354 * SETx1R CMP3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5355 * SETx1R CMP4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5356 * SETx1R MSTPER LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5357 * SETx1R MSTCMP1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5358 * SETx1R MSTCMP2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5359 * SETx1R MSTCMP3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5360 * SETx1R MSTCMP4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5361 * SETx1R TIMEVNT1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5362 * SETx1R TIMEVNT2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5363 * SETx1R TIMEVNT3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5364 * SETx1R TIMEVNT4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5365 * SETx1R TIMEVNT5 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5366 * SETx1R TIMEVNT6 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5367 * SETx1R TIMEVNT7 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5368 * SETx1R TIMEVNT8 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5369 * SETx1R TIMEVNT9 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5370 * SETx1R EXEVNT1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5371 * SETx1R EXEVNT2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5372 * SETx1R EXEVNT3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5373 * SETx1R EXEVNT4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5374 * SETx1R EXEVNT5 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5375 * SETx1R EXEVNT6 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5376 * SETx1R EXEVNT7 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5377 * SETx1R EXEVNT8 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5378 * SETx1R EXEVNT9 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5379 * SETx1R EXEVNT10 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5380 * SETx1R UPDATE LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5381 * SETx1R SST LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5382 * SETx1R RESYNC LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5383 * SETx1R PER LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5384 * SETx1R CMP1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5385 * SETx1R CMP2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5386 * SETx1R CMP3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5387 * SETx1R CMP4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5388 * SETx1R MSTPER LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5389 * SETx1R MSTCMP1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5390 * SETx1R MSTCMP2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5391 * SETx1R MSTCMP3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5392 * SETx1R MSTCMP4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5393 * SETx1R TIMEVNT1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5394 * SETx1R TIMEVNT2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5395 * SETx1R TIMEVNT3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5396 * SETx1R TIMEVNT4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5397 * SETx1R TIMEVNT5 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5398 * SETx1R TIMEVNT6 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5399 * SETx1R TIMEVNT7 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5400 * SETx1R TIMEVNT8 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5401 * SETx1R TIMEVNT9 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5402 * SETx1R EXEVNT1 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5403 * SETx1R EXEVNT2 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5404 * SETx1R EXEVNT3 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5405 * SETx1R EXEVNT4 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5406 * SETx1R EXEVNT5 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5407 * SETx1R EXEVNT6 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5408 * SETx1R EXEVNT7 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5409 * SETx1R EXEVNT8 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5410 * SETx1R EXEVNT9 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5411 * SETx1R EXEVNT10 LL_HRTIM_OUT_SetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5412 * SETx1R UPDATE LL_HRTIM_OUT_SetOutputSetSrc
AnnaBridge 163:e59c8e839560 5413 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5414 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5415 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5416 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5417 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5418 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5419 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5420 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5421 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5422 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5423 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5424 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5425 * @param SetSrc This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 5426 * @arg @ref LL_HRTIM_CROSSBAR_NONE
AnnaBridge 163:e59c8e839560 5427 * @arg @ref LL_HRTIM_CROSSBAR_RESYNC
AnnaBridge 163:e59c8e839560 5428 * @arg @ref LL_HRTIM_CROSSBAR_TIMPER
AnnaBridge 163:e59c8e839560 5429 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP1
AnnaBridge 163:e59c8e839560 5430 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP2
AnnaBridge 163:e59c8e839560 5431 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP3
AnnaBridge 163:e59c8e839560 5432 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP4
AnnaBridge 163:e59c8e839560 5433 * @arg @ref LL_HRTIM_CROSSBAR_MASTERPER
AnnaBridge 163:e59c8e839560 5434 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP1
AnnaBridge 163:e59c8e839560 5435 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP2
AnnaBridge 163:e59c8e839560 5436 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP3
AnnaBridge 163:e59c8e839560 5437 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP4
AnnaBridge 163:e59c8e839560 5438 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_1
AnnaBridge 163:e59c8e839560 5439 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_2
AnnaBridge 163:e59c8e839560 5440 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_3
AnnaBridge 163:e59c8e839560 5441 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_4
AnnaBridge 163:e59c8e839560 5442 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_5
AnnaBridge 163:e59c8e839560 5443 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_6
AnnaBridge 163:e59c8e839560 5444 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_7
AnnaBridge 163:e59c8e839560 5445 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_8
AnnaBridge 163:e59c8e839560 5446 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_9
AnnaBridge 163:e59c8e839560 5447 * @arg @ref LL_HRTIM_CROSSBAR_EEV_1
AnnaBridge 163:e59c8e839560 5448 * @arg @ref LL_HRTIM_CROSSBAR_EEV_2
AnnaBridge 163:e59c8e839560 5449 * @arg @ref LL_HRTIM_CROSSBAR_EEV_3
AnnaBridge 163:e59c8e839560 5450 * @arg @ref LL_HRTIM_CROSSBAR_EEV_4
AnnaBridge 163:e59c8e839560 5451 * @arg @ref LL_HRTIM_CROSSBAR_EEV_5
AnnaBridge 163:e59c8e839560 5452 * @arg @ref LL_HRTIM_CROSSBAR_EEV_6
AnnaBridge 163:e59c8e839560 5453 * @arg @ref LL_HRTIM_CROSSBAR_EEV_7
AnnaBridge 163:e59c8e839560 5454 * @arg @ref LL_HRTIM_CROSSBAR_EEV_8
AnnaBridge 163:e59c8e839560 5455 * @arg @ref LL_HRTIM_CROSSBAR_EEV_9
AnnaBridge 163:e59c8e839560 5456 * @arg @ref LL_HRTIM_CROSSBAR_EEV_10
AnnaBridge 163:e59c8e839560 5457 * @arg @ref LL_HRTIM_CROSSBAR_UPDATE
AnnaBridge 163:e59c8e839560 5458 * @retval None
AnnaBridge 163:e59c8e839560 5459 */
AnnaBridge 163:e59c8e839560 5460 __STATIC_INLINE void LL_HRTIM_OUT_SetOutputSetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t SetSrc)
AnnaBridge 163:e59c8e839560 5461 {
AnnaBridge 163:e59c8e839560 5462 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5463 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].SETx1R) +
AnnaBridge 163:e59c8e839560 5464 REG_OFFSET_TAB_SETxR[iOutput]));
AnnaBridge 163:e59c8e839560 5465 WRITE_REG(*pReg, SetSrc);
AnnaBridge 163:e59c8e839560 5466 }
AnnaBridge 163:e59c8e839560 5467
AnnaBridge 163:e59c8e839560 5468 /**
AnnaBridge 163:e59c8e839560 5469 * @brief Get the timer output set source.
AnnaBridge 163:e59c8e839560 5470 * @rmtoll SETx1R SST LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5471 * SETx1R RESYNC LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5472 * SETx1R PER LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5473 * SETx1R CMP1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5474 * SETx1R CMP2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5475 * SETx1R CMP3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5476 * SETx1R CMP4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5477 * SETx1R MSTPER LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5478 * SETx1R MSTCMP1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5479 * SETx1R MSTCMP2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5480 * SETx1R MSTCMP3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5481 * SETx1R MSTCMP4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5482 * SETx1R TIMEVNT1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5483 * SETx1R TIMEVNT2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5484 * SETx1R TIMEVNT3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5485 * SETx1R TIMEVNT4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5486 * SETx1R TIMEVNT5 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5487 * SETx1R TIMEVNT6 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5488 * SETx1R TIMEVNT7 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5489 * SETx1R TIMEVNT8 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5490 * SETx1R TIMEVNT9 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5491 * SETx1R EXEVNT1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5492 * SETx1R EXEVNT2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5493 * SETx1R EXEVNT3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5494 * SETx1R EXEVNT4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5495 * SETx1R EXEVNT5 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5496 * SETx1R EXEVNT6 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5497 * SETx1R EXEVNT7 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5498 * SETx1R EXEVNT8 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5499 * SETx1R EXEVNT9 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5500 * SETx1R EXEVNT10 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5501 * SETx1R UPDATE LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5502 * SETx1R SST LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5503 * SETx1R RESYNC LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5504 * SETx1R PER LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5505 * SETx1R CMP1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5506 * SETx1R CMP2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5507 * SETx1R CMP3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5508 * SETx1R CMP4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5509 * SETx1R MSTPER LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5510 * SETx1R MSTCMP1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5511 * SETx1R MSTCMP2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5512 * SETx1R MSTCMP3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5513 * SETx1R MSTCMP4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5514 * SETx1R TIMEVNT1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5515 * SETx1R TIMEVNT2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5516 * SETx1R TIMEVNT3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5517 * SETx1R TIMEVNT4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5518 * SETx1R TIMEVNT5 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5519 * SETx1R TIMEVNT6 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5520 * SETx1R TIMEVNT7 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5521 * SETx1R TIMEVNT8 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5522 * SETx1R TIMEVNT9 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5523 * SETx1R EXEVNT1 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5524 * SETx1R EXEVNT2 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5525 * SETx1R EXEVNT3 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5526 * SETx1R EXEVNT4 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5527 * SETx1R EXEVNT5 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5528 * SETx1R EXEVNT6 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5529 * SETx1R EXEVNT7 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5530 * SETx1R EXEVNT8 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5531 * SETx1R EXEVNT9 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5532 * SETx1R EXEVNT10 LL_HRTIM_OUT_GetOutputSetSrc\n
AnnaBridge 163:e59c8e839560 5533 * SETx1R UPDATE LL_HRTIM_OUT_GetOutputSetSrc
AnnaBridge 163:e59c8e839560 5534 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5535 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5536 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5537 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5538 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5539 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5540 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5541 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5542 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5543 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5544 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5545 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5546 * @retval SetSrc This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 5547 * @arg @ref LL_HRTIM_CROSSBAR_NONE
AnnaBridge 163:e59c8e839560 5548 * @arg @ref LL_HRTIM_CROSSBAR_RESYNC
AnnaBridge 163:e59c8e839560 5549 * @arg @ref LL_HRTIM_CROSSBAR_TIMPER
AnnaBridge 163:e59c8e839560 5550 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP1
AnnaBridge 163:e59c8e839560 5551 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP2
AnnaBridge 163:e59c8e839560 5552 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP3
AnnaBridge 163:e59c8e839560 5553 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP4
AnnaBridge 163:e59c8e839560 5554 * @arg @ref LL_HRTIM_CROSSBAR_MASTERPER
AnnaBridge 163:e59c8e839560 5555 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP1
AnnaBridge 163:e59c8e839560 5556 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP2
AnnaBridge 163:e59c8e839560 5557 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP3
AnnaBridge 163:e59c8e839560 5558 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP4
AnnaBridge 163:e59c8e839560 5559 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_1
AnnaBridge 163:e59c8e839560 5560 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_2
AnnaBridge 163:e59c8e839560 5561 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_3
AnnaBridge 163:e59c8e839560 5562 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_4
AnnaBridge 163:e59c8e839560 5563 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_5
AnnaBridge 163:e59c8e839560 5564 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_6
AnnaBridge 163:e59c8e839560 5565 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_7
AnnaBridge 163:e59c8e839560 5566 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_8
AnnaBridge 163:e59c8e839560 5567 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_9
AnnaBridge 163:e59c8e839560 5568 * @arg @ref LL_HRTIM_CROSSBAR_EEV_1
AnnaBridge 163:e59c8e839560 5569 * @arg @ref LL_HRTIM_CROSSBAR_EEV_2
AnnaBridge 163:e59c8e839560 5570 * @arg @ref LL_HRTIM_CROSSBAR_EEV_3
AnnaBridge 163:e59c8e839560 5571 * @arg @ref LL_HRTIM_CROSSBAR_EEV_4
AnnaBridge 163:e59c8e839560 5572 * @arg @ref LL_HRTIM_CROSSBAR_EEV_5
AnnaBridge 163:e59c8e839560 5573 * @arg @ref LL_HRTIM_CROSSBAR_EEV_6
AnnaBridge 163:e59c8e839560 5574 * @arg @ref LL_HRTIM_CROSSBAR_EEV_7
AnnaBridge 163:e59c8e839560 5575 * @arg @ref LL_HRTIM_CROSSBAR_EEV_8
AnnaBridge 163:e59c8e839560 5576 * @arg @ref LL_HRTIM_CROSSBAR_EEV_9
AnnaBridge 163:e59c8e839560 5577 * @arg @ref LL_HRTIM_CROSSBAR_EEV_10
AnnaBridge 163:e59c8e839560 5578 * @arg @ref LL_HRTIM_CROSSBAR_UPDATE
AnnaBridge 163:e59c8e839560 5579 */
AnnaBridge 163:e59c8e839560 5580 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetOutputSetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 5581 {
AnnaBridge 163:e59c8e839560 5582 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5583 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].SETx1R) +
AnnaBridge 163:e59c8e839560 5584 REG_OFFSET_TAB_SETxR[iOutput]));
AnnaBridge 163:e59c8e839560 5585 return (uint32_t) READ_REG(*pReg);
AnnaBridge 163:e59c8e839560 5586 }
AnnaBridge 163:e59c8e839560 5587
AnnaBridge 163:e59c8e839560 5588 /**
AnnaBridge 163:e59c8e839560 5589 * @brief Set the timer output reset source.
AnnaBridge 163:e59c8e839560 5590 * @rmtoll RSTx1R RST LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5591 * RSTx1R RESYNC LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5592 * RSTx1R PER LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5593 * RSTx1R CMP1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5594 * RSTx1R CMP2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5595 * RSTx1R CMP3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5596 * RSTx1R CMP4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5597 * RSTx1R MSTPER LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5598 * RSTx1R MSTCMP1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5599 * RSTx1R MSTCMP2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5600 * RSTx1R MSTCMP3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5601 * RSTx1R MSTCMP4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5602 * RSTx1R TIMEVNT1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5603 * RSTx1R TIMEVNT2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5604 * RSTx1R TIMEVNT3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5605 * RSTx1R TIMEVNT4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5606 * RSTx1R TIMEVNT5 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5607 * RSTx1R TIMEVNT6 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5608 * RSTx1R TIMEVNT7 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5609 * RSTx1R TIMEVNT8 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5610 * RSTx1R TIMEVNT9 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5611 * RSTx1R EXEVNT1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5612 * RSTx1R EXEVNT2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5613 * RSTx1R EXEVNT3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5614 * RSTx1R EXEVNT4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5615 * RSTx1R EXEVNT5 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5616 * RSTx1R EXEVNT6 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5617 * RSTx1R EXEVNT7 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5618 * RSTx1R EXEVNT8 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5619 * RSTx1R EXEVNT9 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5620 * RSTx1R EXEVNT10 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5621 * RSTx1R UPDATE LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5622 * RSTx1R RST LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5623 * RSTx1R RESYNC LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5624 * RSTx1R PER LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5625 * RSTx1R CMP1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5626 * RSTx1R CMP2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5627 * RSTx1R CMP3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5628 * RSTx1R CMP4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5629 * RSTx1R MSTPER LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5630 * RSTx1R MSTCMP1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5631 * RSTx1R MSTCMP2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5632 * RSTx1R MSTCMP3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5633 * RSTx1R MSTCMP4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5634 * RSTx1R TIMEVNT1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5635 * RSTx1R TIMEVNT2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5636 * RSTx1R TIMEVNT3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5637 * RSTx1R TIMEVNT4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5638 * RSTx1R TIMEVNT5 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5639 * RSTx1R TIMEVNT6 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5640 * RSTx1R TIMEVNT7 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5641 * RSTx1R TIMEVNT8 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5642 * RSTx1R TIMEVNT9 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5643 * RSTx1R EXEVNT1 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5644 * RSTx1R EXEVNT2 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5645 * RSTx1R EXEVNT3 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5646 * RSTx1R EXEVNT4 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5647 * RSTx1R EXEVNT5 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5648 * RSTx1R EXEVNT6 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5649 * RSTx1R EXEVNT7 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5650 * RSTx1R EXEVNT8 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5651 * RSTx1R EXEVNT9 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5652 * RSTx1R EXEVNT10 LL_HRTIM_OUT_SetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5653 * RSTx1R UPDATE LL_HRTIM_OUT_SetOutputResetSrc
AnnaBridge 163:e59c8e839560 5654 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5655 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5656 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5657 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5658 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5659 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5660 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5661 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5662 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5663 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5664 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5665 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5666 * @param ResetSrc This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 5667 * @arg @ref LL_HRTIM_CROSSBAR_NONE
AnnaBridge 163:e59c8e839560 5668 * @arg @ref LL_HRTIM_CROSSBAR_RESYNC
AnnaBridge 163:e59c8e839560 5669 * @arg @ref LL_HRTIM_CROSSBAR_TIMPER
AnnaBridge 163:e59c8e839560 5670 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP1
AnnaBridge 163:e59c8e839560 5671 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP2
AnnaBridge 163:e59c8e839560 5672 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP3
AnnaBridge 163:e59c8e839560 5673 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP4
AnnaBridge 163:e59c8e839560 5674 * @arg @ref LL_HRTIM_CROSSBAR_MASTERPER
AnnaBridge 163:e59c8e839560 5675 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP1
AnnaBridge 163:e59c8e839560 5676 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP2
AnnaBridge 163:e59c8e839560 5677 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP3
AnnaBridge 163:e59c8e839560 5678 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP4
AnnaBridge 163:e59c8e839560 5679 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_1
AnnaBridge 163:e59c8e839560 5680 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_2
AnnaBridge 163:e59c8e839560 5681 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_3
AnnaBridge 163:e59c8e839560 5682 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_4
AnnaBridge 163:e59c8e839560 5683 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_5
AnnaBridge 163:e59c8e839560 5684 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_6
AnnaBridge 163:e59c8e839560 5685 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_7
AnnaBridge 163:e59c8e839560 5686 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_8
AnnaBridge 163:e59c8e839560 5687 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_9
AnnaBridge 163:e59c8e839560 5688 * @arg @ref LL_HRTIM_CROSSBAR_EEV_1
AnnaBridge 163:e59c8e839560 5689 * @arg @ref LL_HRTIM_CROSSBAR_EEV_2
AnnaBridge 163:e59c8e839560 5690 * @arg @ref LL_HRTIM_CROSSBAR_EEV_3
AnnaBridge 163:e59c8e839560 5691 * @arg @ref LL_HRTIM_CROSSBAR_EEV_4
AnnaBridge 163:e59c8e839560 5692 * @arg @ref LL_HRTIM_CROSSBAR_EEV_5
AnnaBridge 163:e59c8e839560 5693 * @arg @ref LL_HRTIM_CROSSBAR_EEV_6
AnnaBridge 163:e59c8e839560 5694 * @arg @ref LL_HRTIM_CROSSBAR_EEV_7
AnnaBridge 163:e59c8e839560 5695 * @arg @ref LL_HRTIM_CROSSBAR_EEV_8
AnnaBridge 163:e59c8e839560 5696 * @arg @ref LL_HRTIM_CROSSBAR_EEV_9
AnnaBridge 163:e59c8e839560 5697 * @arg @ref LL_HRTIM_CROSSBAR_EEV_10
AnnaBridge 163:e59c8e839560 5698 * @arg @ref LL_HRTIM_CROSSBAR_UPDATE
AnnaBridge 163:e59c8e839560 5699 * @retval None
AnnaBridge 163:e59c8e839560 5700 */
AnnaBridge 163:e59c8e839560 5701 __STATIC_INLINE void LL_HRTIM_OUT_SetOutputResetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t ResetSrc)
AnnaBridge 163:e59c8e839560 5702 {
AnnaBridge 163:e59c8e839560 5703 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5704 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].RSTx1R) +
AnnaBridge 163:e59c8e839560 5705 REG_OFFSET_TAB_SETxR[iOutput]));
AnnaBridge 163:e59c8e839560 5706 WRITE_REG(*pReg, ResetSrc);
AnnaBridge 163:e59c8e839560 5707 }
AnnaBridge 163:e59c8e839560 5708
AnnaBridge 163:e59c8e839560 5709 /**
AnnaBridge 163:e59c8e839560 5710 * @brief Get the timer output set source.
AnnaBridge 163:e59c8e839560 5711 * @rmtoll RSTx1R RST LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5712 * RSTx1R RESYNC LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5713 * RSTx1R PER LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5714 * RSTx1R CMP1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5715 * RSTx1R CMP2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5716 * RSTx1R CMP3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5717 * RSTx1R CMP4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5718 * RSTx1R MSTPER LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5719 * RSTx1R MSTCMP1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5720 * RSTx1R MSTCMP2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5721 * RSTx1R MSTCMP3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5722 * RSTx1R MSTCMP4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5723 * RSTx1R TIMEVNT1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5724 * RSTx1R TIMEVNT2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5725 * RSTx1R TIMEVNT3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5726 * RSTx1R TIMEVNT4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5727 * RSTx1R TIMEVNT5 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5728 * RSTx1R TIMEVNT6 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5729 * RSTx1R TIMEVNT7 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5730 * RSTx1R TIMEVNT8 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5731 * RSTx1R TIMEVNT9 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5732 * RSTx1R EXEVNT1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5733 * RSTx1R EXEVNT2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5734 * RSTx1R EXEVNT3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5735 * RSTx1R EXEVNT4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5736 * RSTx1R EXEVNT5 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5737 * RSTx1R EXEVNT6 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5738 * RSTx1R EXEVNT7 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5739 * RSTx1R EXEVNT8 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5740 * RSTx1R EXEVNT9 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5741 * RSTx1R EXEVNT10 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5742 * RSTx1R UPDATE LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5743 * RSTx1R RST LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5744 * RSTx1R RESYNC LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5745 * RSTx1R PER LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5746 * RSTx1R CMP1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5747 * RSTx1R CMP2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5748 * RSTx1R CMP3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5749 * RSTx1R CMP4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5750 * RSTx1R MSTPER LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5751 * RSTx1R MSTCMP1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5752 * RSTx1R MSTCMP2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5753 * RSTx1R MSTCMP3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5754 * RSTx1R MSTCMP4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5755 * RSTx1R TIMEVNT1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5756 * RSTx1R TIMEVNT2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5757 * RSTx1R TIMEVNT3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5758 * RSTx1R TIMEVNT4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5759 * RSTx1R TIMEVNT5 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5760 * RSTx1R TIMEVNT6 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5761 * RSTx1R TIMEVNT7 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5762 * RSTx1R TIMEVNT8 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5763 * RSTx1R TIMEVNT9 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5764 * RSTx1R EXEVNT1 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5765 * RSTx1R EXEVNT2 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5766 * RSTx1R EXEVNT3 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5767 * RSTx1R EXEVNT4 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5768 * RSTx1R EXEVNT5 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5769 * RSTx1R EXEVNT6 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5770 * RSTx1R EXEVNT7 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5771 * RSTx1R EXEVNT8 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5772 * RSTx1R EXEVNT9 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5773 * RSTx1R EXEVNT10 LL_HRTIM_OUT_GetOutputResetSrc\n
AnnaBridge 163:e59c8e839560 5774 * RSTx1R UPDATE LL_HRTIM_OUT_GetOutputResetSrc
AnnaBridge 163:e59c8e839560 5775 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5776 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5777 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5778 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5779 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5780 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5781 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5782 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5783 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5784 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5785 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5786 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5787 * @retval ResetSrc This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 5788 * @arg @ref LL_HRTIM_CROSSBAR_NONE
AnnaBridge 163:e59c8e839560 5789 * @arg @ref LL_HRTIM_CROSSBAR_RESYNC
AnnaBridge 163:e59c8e839560 5790 * @arg @ref LL_HRTIM_CROSSBAR_TIMPER
AnnaBridge 163:e59c8e839560 5791 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP1
AnnaBridge 163:e59c8e839560 5792 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP2
AnnaBridge 163:e59c8e839560 5793 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP3
AnnaBridge 163:e59c8e839560 5794 * @arg @ref LL_HRTIM_CROSSBAR_TIMCMP4
AnnaBridge 163:e59c8e839560 5795 * @arg @ref LL_HRTIM_CROSSBAR_MASTERPER
AnnaBridge 163:e59c8e839560 5796 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP1
AnnaBridge 163:e59c8e839560 5797 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP2
AnnaBridge 163:e59c8e839560 5798 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP3
AnnaBridge 163:e59c8e839560 5799 * @arg @ref LL_HRTIM_CROSSBAR_MASTERCMP4
AnnaBridge 163:e59c8e839560 5800 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_1
AnnaBridge 163:e59c8e839560 5801 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_2
AnnaBridge 163:e59c8e839560 5802 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_3
AnnaBridge 163:e59c8e839560 5803 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_4
AnnaBridge 163:e59c8e839560 5804 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_5
AnnaBridge 163:e59c8e839560 5805 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_6
AnnaBridge 163:e59c8e839560 5806 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_7
AnnaBridge 163:e59c8e839560 5807 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_8
AnnaBridge 163:e59c8e839560 5808 * @arg @ref LL_HRTIM_CROSSBAR_TIMEV_9
AnnaBridge 163:e59c8e839560 5809 * @arg @ref LL_HRTIM_CROSSBAR_EEV_1
AnnaBridge 163:e59c8e839560 5810 * @arg @ref LL_HRTIM_CROSSBAR_EEV_2
AnnaBridge 163:e59c8e839560 5811 * @arg @ref LL_HRTIM_CROSSBAR_EEV_3
AnnaBridge 163:e59c8e839560 5812 * @arg @ref LL_HRTIM_CROSSBAR_EEV_4
AnnaBridge 163:e59c8e839560 5813 * @arg @ref LL_HRTIM_CROSSBAR_EEV_5
AnnaBridge 163:e59c8e839560 5814 * @arg @ref LL_HRTIM_CROSSBAR_EEV_6
AnnaBridge 163:e59c8e839560 5815 * @arg @ref LL_HRTIM_CROSSBAR_EEV_7
AnnaBridge 163:e59c8e839560 5816 * @arg @ref LL_HRTIM_CROSSBAR_EEV_8
AnnaBridge 163:e59c8e839560 5817 * @arg @ref LL_HRTIM_CROSSBAR_EEV_9
AnnaBridge 163:e59c8e839560 5818 * @arg @ref LL_HRTIM_CROSSBAR_EEV_10
AnnaBridge 163:e59c8e839560 5819 * @arg @ref LL_HRTIM_CROSSBAR_UPDATE
AnnaBridge 163:e59c8e839560 5820 */
AnnaBridge 163:e59c8e839560 5821 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetOutputResetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 5822 {
AnnaBridge 163:e59c8e839560 5823 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5824 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].RSTx1R) +
AnnaBridge 163:e59c8e839560 5825 REG_OFFSET_TAB_SETxR[iOutput]));
AnnaBridge 163:e59c8e839560 5826 return (uint32_t) READ_REG(*pReg);
AnnaBridge 163:e59c8e839560 5827 }
AnnaBridge 163:e59c8e839560 5828
AnnaBridge 163:e59c8e839560 5829 /**
AnnaBridge 163:e59c8e839560 5830 * @brief Configure a timer output.
AnnaBridge 163:e59c8e839560 5831 * @rmtoll OUTxR POL1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5832 * OUTxR IDLEM1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5833 * OUTxR IDLES1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5834 * OUTxR FAULT1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5835 * OUTxR CHP1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5836 * OUTxR DIDL1 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5837 * OUTxR POL2 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5838 * OUTxR IDLEM2 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5839 * OUTxR IDLES2 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5840 * OUTxR FAULT2 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5841 * OUTxR CHP2 LL_HRTIM_OUT_Config\n
AnnaBridge 163:e59c8e839560 5842 * OUTxR DIDL2 LL_HRTIM_OUT_Config
AnnaBridge 163:e59c8e839560 5843 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5844 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5845 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5846 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5847 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5848 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5849 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5850 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5851 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5852 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5853 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5854 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5855 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 5856 * @arg @ref LL_HRTIM_OUT_POSITIVE_POLARITY or @ref LL_HRTIM_OUT_NEGATIVE_POLARITY
AnnaBridge 163:e59c8e839560 5857 * @arg @ref LL_HRTIM_OUT_NO_IDLE or @ref LL_HRTIM_OUT_IDLE_WHEN_BURST
AnnaBridge 163:e59c8e839560 5858 * @arg @ref LL_HRTIM_OUT_IDLELEVEL_INACTIVE or @ref LL_HRTIM_OUT_IDLELEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 5859 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_NO_ACTION or @ref LL_HRTIM_OUT_FAULTSTATE_ACTIVE or @ref LL_HRTIM_OUT_FAULTSTATE_INACTIVE or @ref LL_HRTIM_OUT_FAULTSTATE_HIGHZ
AnnaBridge 163:e59c8e839560 5860 * @arg @ref LL_HRTIM_OUT_CHOPPERMODE_DISABLED or @ref LL_HRTIM_OUT_CHOPPERMODE_ENABLED
AnnaBridge 163:e59c8e839560 5861 * @arg @ref LL_HRTIM_OUT_BM_ENTRYMODE_REGULAR or @ref LL_HRTIM_OUT_BM_ENTRYMODE_DELAYED
AnnaBridge 163:e59c8e839560 5862 * @retval None
AnnaBridge 163:e59c8e839560 5863 */
AnnaBridge 163:e59c8e839560 5864 __STATIC_INLINE void LL_HRTIM_OUT_Config(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 5865 {
AnnaBridge 163:e59c8e839560 5866 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5867 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 5868 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5869 MODIFY_REG(*pReg, (HRTIM_OUT_CONFIG_MASK << REG_SHIFT_TAB_OUTxR[iOutput]),
AnnaBridge 163:e59c8e839560 5870 (Configuration << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5871 }
AnnaBridge 163:e59c8e839560 5872
AnnaBridge 163:e59c8e839560 5873 /**
AnnaBridge 163:e59c8e839560 5874 * @brief Set the polarity of a timer output.
AnnaBridge 163:e59c8e839560 5875 * @rmtoll OUTxR POL1 LL_HRTIM_OUT_SetPolarity\n
AnnaBridge 163:e59c8e839560 5876 * OUTxR POL2 LL_HRTIM_OUT_SetPolarity
AnnaBridge 163:e59c8e839560 5877 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5878 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5879 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5880 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5881 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5882 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5883 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5884 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5885 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5886 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5887 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5888 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5889 * @param Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5890 * @arg @ref LL_HRTIM_OUT_POSITIVE_POLARITY
AnnaBridge 163:e59c8e839560 5891 * @arg @ref LL_HRTIM_OUT_NEGATIVE_POLARITY
AnnaBridge 163:e59c8e839560 5892 * @retval None
AnnaBridge 163:e59c8e839560 5893 */
AnnaBridge 163:e59c8e839560 5894 __STATIC_INLINE void LL_HRTIM_OUT_SetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t Polarity)
AnnaBridge 163:e59c8e839560 5895 {
AnnaBridge 163:e59c8e839560 5896 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5897 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 5898 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5899 MODIFY_REG(*pReg, (HRTIM_OUTR_POL1 << REG_SHIFT_TAB_OUTxR[iOutput]), (Polarity << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5900 }
AnnaBridge 163:e59c8e839560 5901
AnnaBridge 163:e59c8e839560 5902 /**
AnnaBridge 163:e59c8e839560 5903 * @brief Get actual polarity of the timer output.
AnnaBridge 163:e59c8e839560 5904 * @rmtoll OUTxR POL1 LL_HRTIM_OUT_GetPolarity\n
AnnaBridge 163:e59c8e839560 5905 * OUTxR POL2 LL_HRTIM_OUT_GetPolarity
AnnaBridge 163:e59c8e839560 5906 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5907 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5908 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5909 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5910 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5911 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5912 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5913 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5914 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5915 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5916 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5917 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5918 * @retval Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5919 * @arg @ref LL_HRTIM_OUT_POSITIVE_POLARITY
AnnaBridge 163:e59c8e839560 5920 * @arg @ref LL_HRTIM_OUT_NEGATIVE_POLARITY
AnnaBridge 163:e59c8e839560 5921 */
AnnaBridge 163:e59c8e839560 5922 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 5923 {
AnnaBridge 163:e59c8e839560 5924 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5925 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 5926 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5927 return (READ_BIT(*pReg, (HRTIM_OUTR_POL1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 5928 }
AnnaBridge 163:e59c8e839560 5929
AnnaBridge 163:e59c8e839560 5930 /**
AnnaBridge 163:e59c8e839560 5931 * @brief Set the output IDLE mode.
AnnaBridge 163:e59c8e839560 5932 * @rmtoll OUTxR IDLEM1 LL_HRTIM_OUT_SetIdleMode\n
AnnaBridge 163:e59c8e839560 5933 * OUTxR IDLEM2 LL_HRTIM_OUT_SetIdleMode
AnnaBridge 163:e59c8e839560 5934 * @note This function must not be called when the burst mode is active
AnnaBridge 163:e59c8e839560 5935 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5936 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5937 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5938 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5939 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5940 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5941 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5942 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5943 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5944 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5945 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5946 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5947 * @param IdleMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5948 * @arg @ref LL_HRTIM_OUT_NO_IDLE
AnnaBridge 163:e59c8e839560 5949 * @arg @ref LL_HRTIM_OUT_IDLE_WHEN_BURST
AnnaBridge 163:e59c8e839560 5950 * @retval None
AnnaBridge 163:e59c8e839560 5951 */
AnnaBridge 163:e59c8e839560 5952 __STATIC_INLINE void LL_HRTIM_OUT_SetIdleMode(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t IdleMode)
AnnaBridge 163:e59c8e839560 5953 {
AnnaBridge 163:e59c8e839560 5954 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5955 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 5956 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5957 MODIFY_REG(*pReg, (HRTIM_OUTR_IDLM1 << REG_SHIFT_TAB_OUTxR[iOutput]), (IdleMode << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5958 }
AnnaBridge 163:e59c8e839560 5959
AnnaBridge 163:e59c8e839560 5960 /**
AnnaBridge 163:e59c8e839560 5961 * @brief Get actual output IDLE mode.
AnnaBridge 163:e59c8e839560 5962 * @rmtoll OUTxR IDLEM1 LL_HRTIM_OUT_GetIdleMode\n
AnnaBridge 163:e59c8e839560 5963 * OUTxR IDLEM2 LL_HRTIM_OUT_GetIdleMode
AnnaBridge 163:e59c8e839560 5964 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5965 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5966 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5967 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5968 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5969 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 5970 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 5971 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 5972 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 5973 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 5974 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 5975 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 5976 * @retval IdleMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5977 * @arg @ref LL_HRTIM_OUT_NO_IDLE
AnnaBridge 163:e59c8e839560 5978 * @arg @ref LL_HRTIM_OUT_IDLE_WHEN_BURST
AnnaBridge 163:e59c8e839560 5979 */
AnnaBridge 163:e59c8e839560 5980 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetIdleMode(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 5981 {
AnnaBridge 163:e59c8e839560 5982 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 5983 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 5984 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 5985 return (READ_BIT(*pReg, (HRTIM_OUTR_IDLM1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 5986 }
AnnaBridge 163:e59c8e839560 5987
AnnaBridge 163:e59c8e839560 5988 /**
AnnaBridge 163:e59c8e839560 5989 * @brief Set the output IDLE level.
AnnaBridge 163:e59c8e839560 5990 * @rmtoll OUTxR IDLES1 LL_HRTIM_OUT_SetIdleLevel\n
AnnaBridge 163:e59c8e839560 5991 * OUTxR IDLES2 LL_HRTIM_OUT_SetIdleLevel
AnnaBridge 163:e59c8e839560 5992 * @note This function must be called prior enabling the timer.
AnnaBridge 163:e59c8e839560 5993 * @note Idle level isn't relevant when the output idle mode is set to LL_HRTIM_OUT_NO_IDLE.
AnnaBridge 163:e59c8e839560 5994 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 5995 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 5996 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 5997 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 5998 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 5999 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6000 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6001 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6002 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6003 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6004 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6005 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6006 * @param IdleLevel This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6007 * @arg @ref LL_HRTIM_OUT_IDLELEVEL_INACTIVE
AnnaBridge 163:e59c8e839560 6008 * @arg @ref LL_HRTIM_OUT_IDLELEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 6009 * @retval None
AnnaBridge 163:e59c8e839560 6010 */
AnnaBridge 163:e59c8e839560 6011 __STATIC_INLINE void LL_HRTIM_OUT_SetIdleLevel(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t IdleLevel)
AnnaBridge 163:e59c8e839560 6012 {
AnnaBridge 163:e59c8e839560 6013 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6014 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6015 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6016 MODIFY_REG(*pReg, (HRTIM_OUTR_IDLES1 << REG_SHIFT_TAB_OUTxR[iOutput]), (IdleLevel << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6017 }
AnnaBridge 163:e59c8e839560 6018
AnnaBridge 163:e59c8e839560 6019 /**
AnnaBridge 163:e59c8e839560 6020 * @brief Get actual output IDLE level.
AnnaBridge 163:e59c8e839560 6021 * @rmtoll OUTxR IDLES1 LL_HRTIM_OUT_GetIdleLevel\n
AnnaBridge 163:e59c8e839560 6022 * OUTxR IDLES2 LL_HRTIM_OUT_GetIdleLevel
AnnaBridge 163:e59c8e839560 6023 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6024 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6025 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6026 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6027 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6028 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6029 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6030 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6031 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6032 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6033 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6034 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6035 * @retval IdleLevel This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6036 * @arg @ref LL_HRTIM_OUT_IDLELEVEL_INACTIVE
AnnaBridge 163:e59c8e839560 6037 * @arg @ref LL_HRTIM_OUT_IDLELEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 6038 */
AnnaBridge 163:e59c8e839560 6039 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetIdleLevel(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6040 {
AnnaBridge 163:e59c8e839560 6041 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6042 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6043 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6044 return (READ_BIT(*pReg, (HRTIM_OUTR_IDLES1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 6045 }
AnnaBridge 163:e59c8e839560 6046
AnnaBridge 163:e59c8e839560 6047 /**
AnnaBridge 163:e59c8e839560 6048 * @brief Set the output FAULT state.
AnnaBridge 163:e59c8e839560 6049 * @rmtoll OUTxR FAULT1 LL_HRTIM_OUT_SetFaultState\n
AnnaBridge 163:e59c8e839560 6050 * OUTxR FAULT2 LL_HRTIM_OUT_SetFaultState
AnnaBridge 163:e59c8e839560 6051 * @note This function must not called when the timer is enabled and a fault
AnnaBridge 163:e59c8e839560 6052 * channel is enabled at timer level.
AnnaBridge 163:e59c8e839560 6053 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6054 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6055 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6056 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6057 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6058 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6059 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6060 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6061 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6062 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6063 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6064 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6065 * @param FaultState This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6066 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_NO_ACTION
AnnaBridge 163:e59c8e839560 6067 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_ACTIVE
AnnaBridge 163:e59c8e839560 6068 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_INACTIVE
AnnaBridge 163:e59c8e839560 6069 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_HIGHZ
AnnaBridge 163:e59c8e839560 6070 * @retval None
AnnaBridge 163:e59c8e839560 6071 */
AnnaBridge 163:e59c8e839560 6072 __STATIC_INLINE void LL_HRTIM_OUT_SetFaultState(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t FaultState)
AnnaBridge 163:e59c8e839560 6073 {
AnnaBridge 163:e59c8e839560 6074 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6075 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6076 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6077 MODIFY_REG(*pReg, (HRTIM_OUTR_FAULT1 << REG_SHIFT_TAB_OUTxR[iOutput]), (FaultState << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6078 }
AnnaBridge 163:e59c8e839560 6079
AnnaBridge 163:e59c8e839560 6080 /**
AnnaBridge 163:e59c8e839560 6081 * @brief Get actual FAULT state.
AnnaBridge 163:e59c8e839560 6082 * @rmtoll OUTxR FAULT1 LL_HRTIM_OUT_GetFaultState\n
AnnaBridge 163:e59c8e839560 6083 * OUTxR FAULT2 LL_HRTIM_OUT_GetFaultState
AnnaBridge 163:e59c8e839560 6084 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6085 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6086 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6087 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6088 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6089 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6090 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6091 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6092 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6093 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6094 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6095 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6096 * @retval FaultState This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6097 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_NO_ACTION
AnnaBridge 163:e59c8e839560 6098 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_ACTIVE
AnnaBridge 163:e59c8e839560 6099 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_INACTIVE
AnnaBridge 163:e59c8e839560 6100 * @arg @ref LL_HRTIM_OUT_FAULTSTATE_HIGHZ
AnnaBridge 163:e59c8e839560 6101 */
AnnaBridge 163:e59c8e839560 6102 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetFaultState(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6103 {
AnnaBridge 163:e59c8e839560 6104 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6105 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6106 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6107 return (READ_BIT(*pReg, (HRTIM_OUTR_FAULT1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 6108 }
AnnaBridge 163:e59c8e839560 6109
AnnaBridge 163:e59c8e839560 6110 /**
AnnaBridge 163:e59c8e839560 6111 * @brief Set the output chopper mode.
AnnaBridge 163:e59c8e839560 6112 * @rmtoll OUTxR CHP1 LL_HRTIM_OUT_SetChopperMode\n
AnnaBridge 163:e59c8e839560 6113 * OUTxR CHP2 LL_HRTIM_OUT_SetChopperMode
AnnaBridge 163:e59c8e839560 6114 * @note This function must not called when the timer is enabled.
AnnaBridge 163:e59c8e839560 6115 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6116 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6117 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6118 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6119 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6120 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6121 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6122 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6123 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6124 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6125 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6126 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6127 * @param ChopperMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6128 * @arg @ref LL_HRTIM_OUT_CHOPPERMODE_DISABLED
AnnaBridge 163:e59c8e839560 6129 * @arg @ref LL_HRTIM_OUT_CHOPPERMODE_ENABLED
AnnaBridge 163:e59c8e839560 6130 * @retval None
AnnaBridge 163:e59c8e839560 6131 */
AnnaBridge 163:e59c8e839560 6132 __STATIC_INLINE void LL_HRTIM_OUT_SetChopperMode(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t ChopperMode)
AnnaBridge 163:e59c8e839560 6133 {
AnnaBridge 163:e59c8e839560 6134 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6135 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6136 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6137 MODIFY_REG(*pReg, (HRTIM_OUTR_CHP1 << REG_SHIFT_TAB_OUTxR[iOutput]), (ChopperMode << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6138 }
AnnaBridge 163:e59c8e839560 6139
AnnaBridge 163:e59c8e839560 6140 /**
AnnaBridge 163:e59c8e839560 6141 * @brief Get actual output chopper mode
AnnaBridge 163:e59c8e839560 6142 * @rmtoll OUTxR CHP1 LL_HRTIM_OUT_GetChopperMode\n
AnnaBridge 163:e59c8e839560 6143 * OUTxR CHP2 LL_HRTIM_OUT_GetChopperMode
AnnaBridge 163:e59c8e839560 6144 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6145 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6146 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6147 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6148 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6149 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6150 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6151 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6152 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6153 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6154 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6155 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6156 * @retval ChopperMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6157 * @arg @ref LL_HRTIM_OUT_CHOPPERMODE_DISABLED
AnnaBridge 163:e59c8e839560 6158 * @arg @ref LL_HRTIM_OUT_CHOPPERMODE_ENABLED
AnnaBridge 163:e59c8e839560 6159 */
AnnaBridge 163:e59c8e839560 6160 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetChopperMode(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6161 {
AnnaBridge 163:e59c8e839560 6162 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6163 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6164 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6165 return (READ_BIT(*pReg, (HRTIM_OUTR_CHP1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 6166 }
AnnaBridge 163:e59c8e839560 6167
AnnaBridge 163:e59c8e839560 6168 /**
AnnaBridge 163:e59c8e839560 6169 * @brief Set the output burst mode entry mode.
AnnaBridge 163:e59c8e839560 6170 * @rmtoll OUTxR DIDL1 LL_HRTIM_OUT_SetBMEntryMode\n
AnnaBridge 163:e59c8e839560 6171 * OUTxR DIDL2 LL_HRTIM_OUT_SetBMEntryMode
AnnaBridge 163:e59c8e839560 6172 * @note This function must not called when the timer is enabled.
AnnaBridge 163:e59c8e839560 6173 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6174 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6175 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6176 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6177 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6178 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6179 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6180 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6181 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6182 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6183 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6184 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6185 * @param BMEntryMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6186 * @arg @ref LL_HRTIM_OUT_BM_ENTRYMODE_REGULAR
AnnaBridge 163:e59c8e839560 6187 * @arg @ref LL_HRTIM_OUT_BM_ENTRYMODE_DELAYED
AnnaBridge 163:e59c8e839560 6188 * @retval None
AnnaBridge 163:e59c8e839560 6189 */
AnnaBridge 163:e59c8e839560 6190 __STATIC_INLINE void LL_HRTIM_OUT_SetBMEntryMode(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t BMEntryMode)
AnnaBridge 163:e59c8e839560 6191 {
AnnaBridge 163:e59c8e839560 6192 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6193 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6194 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6195 MODIFY_REG(*pReg, (HRTIM_OUTR_DIDL1 << REG_SHIFT_TAB_OUTxR[iOutput]), (BMEntryMode << REG_SHIFT_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6196 }
AnnaBridge 163:e59c8e839560 6197
AnnaBridge 163:e59c8e839560 6198 /**
AnnaBridge 163:e59c8e839560 6199 * @brief Get actual output burst mode entry mode.
AnnaBridge 163:e59c8e839560 6200 * @rmtoll OUTxR DIDL1 LL_HRTIM_OUT_GetBMEntryMode\n
AnnaBridge 163:e59c8e839560 6201 * OUTxR DIDL2 LL_HRTIM_OUT_GetBMEntryMode
AnnaBridge 163:e59c8e839560 6202 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6203 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6204 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6205 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6206 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6207 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6208 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6209 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6210 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6211 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6212 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6213 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6214 * @retval BMEntryMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6215 * @arg @ref LL_HRTIM_OUT_BM_ENTRYMODE_REGULAR
AnnaBridge 163:e59c8e839560 6216 * @arg @ref LL_HRTIM_OUT_BM_ENTRYMODE_DELAYED
AnnaBridge 163:e59c8e839560 6217 */
AnnaBridge 163:e59c8e839560 6218 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetBMEntryMode(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6219 {
AnnaBridge 163:e59c8e839560 6220 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6221 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].OUTxR) +
AnnaBridge 163:e59c8e839560 6222 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6223 return (READ_BIT(*pReg, (HRTIM_OUTR_DIDL1 << REG_SHIFT_TAB_OUTxR[iOutput])) >> REG_SHIFT_TAB_OUTxR[iOutput]);
AnnaBridge 163:e59c8e839560 6224 }
AnnaBridge 163:e59c8e839560 6225
AnnaBridge 163:e59c8e839560 6226 /**
AnnaBridge 163:e59c8e839560 6227 * @brief Get the level (active or inactive) of the designated output when the
AnnaBridge 163:e59c8e839560 6228 * delayed protection was triggered.
AnnaBridge 163:e59c8e839560 6229 * @rmtoll TIMxISR O1SRSR LL_HRTIM_OUT_GetDLYPRTOutStatus\n
AnnaBridge 163:e59c8e839560 6230 * TIMxISR O2SRSR LL_HRTIM_OUT_GetDLYPRTOutStatus
AnnaBridge 163:e59c8e839560 6231 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6232 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6233 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6234 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6235 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6236 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6237 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6238 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6239 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6240 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6241 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6242 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6243 * @retval OutputLevel This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6244 * @arg @ref LL_HRTIM_OUT_LEVEL_INACTIVE
AnnaBridge 163:e59c8e839560 6245 * @arg @ref LL_HRTIM_OUT_LEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 6246 */
AnnaBridge 163:e59c8e839560 6247 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetDLYPRTOutStatus(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6248 {
AnnaBridge 163:e59c8e839560 6249 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6250 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxISR) +
AnnaBridge 163:e59c8e839560 6251 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6252 return ((READ_BIT(*pReg, (HRTIM_TIMISR_O1STAT << REG_SHIFT_TAB_OxSTAT[iOutput])) >> REG_SHIFT_TAB_OxSTAT[iOutput]) >>
AnnaBridge 163:e59c8e839560 6253 HRTIM_TIMISR_O1STAT_Pos);
AnnaBridge 163:e59c8e839560 6254 }
AnnaBridge 163:e59c8e839560 6255
AnnaBridge 163:e59c8e839560 6256 /**
AnnaBridge 163:e59c8e839560 6257 * @brief Force the timer output to its active or inactive level.
AnnaBridge 163:e59c8e839560 6258 * @rmtoll SETx1R SST LL_HRTIM_OUT_ForceLevel\n
AnnaBridge 163:e59c8e839560 6259 * RSTx1R SRT LL_HRTIM_OUT_ForceLevel\n
AnnaBridge 163:e59c8e839560 6260 * SETx2R SST LL_HRTIM_OUT_ForceLevel\n
AnnaBridge 163:e59c8e839560 6261 * RSTx2R SRT LL_HRTIM_OUT_ForceLevel
AnnaBridge 163:e59c8e839560 6262 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6263 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6264 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6265 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6266 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6267 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6268 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6269 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6270 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6271 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6272 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6273 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6274 * @param OutputLevel This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6275 * @arg @ref LL_HRTIM_OUT_LEVEL_INACTIVE
AnnaBridge 163:e59c8e839560 6276 * @arg @ref LL_HRTIM_OUT_LEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 6277 * @retval None
AnnaBridge 163:e59c8e839560 6278 */
AnnaBridge 163:e59c8e839560 6279 __STATIC_INLINE void LL_HRTIM_OUT_ForceLevel(HRTIM_TypeDef *HRTIMx, uint32_t Output, uint32_t OutputLevel)
AnnaBridge 163:e59c8e839560 6280 {
AnnaBridge 163:e59c8e839560 6281 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6282 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].SETx1R) +
AnnaBridge 163:e59c8e839560 6283 REG_OFFSET_TAB_SETxR[iOutput] + REG_OFFSET_TAB_OUT_LEVEL[OutputLevel]));
AnnaBridge 163:e59c8e839560 6284 SET_BIT(*pReg, HRTIM_SET1R_SST);
AnnaBridge 163:e59c8e839560 6285 }
AnnaBridge 163:e59c8e839560 6286
AnnaBridge 163:e59c8e839560 6287 /**
AnnaBridge 163:e59c8e839560 6288 * @brief Get actual output level, before the output stage (chopper, polarity).
AnnaBridge 163:e59c8e839560 6289 * @rmtoll TIMxISR O1CPY LL_HRTIM_OUT_GetLevel\n
AnnaBridge 163:e59c8e839560 6290 * TIMxISR O2CPY LL_HRTIM_OUT_GetLevel
AnnaBridge 163:e59c8e839560 6291 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6292 * @param Output This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6293 * @arg @ref LL_HRTIM_OUTPUT_TA1
AnnaBridge 163:e59c8e839560 6294 * @arg @ref LL_HRTIM_OUTPUT_TA2
AnnaBridge 163:e59c8e839560 6295 * @arg @ref LL_HRTIM_OUTPUT_TB1
AnnaBridge 163:e59c8e839560 6296 * @arg @ref LL_HRTIM_OUTPUT_TB2
AnnaBridge 163:e59c8e839560 6297 * @arg @ref LL_HRTIM_OUTPUT_TC1
AnnaBridge 163:e59c8e839560 6298 * @arg @ref LL_HRTIM_OUTPUT_TC2
AnnaBridge 163:e59c8e839560 6299 * @arg @ref LL_HRTIM_OUTPUT_TD1
AnnaBridge 163:e59c8e839560 6300 * @arg @ref LL_HRTIM_OUTPUT_TD2
AnnaBridge 163:e59c8e839560 6301 * @arg @ref LL_HRTIM_OUTPUT_TE1
AnnaBridge 163:e59c8e839560 6302 * @arg @ref LL_HRTIM_OUTPUT_TE2
AnnaBridge 163:e59c8e839560 6303 * @retval OutputLevel This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6304 * @arg @ref LL_HRTIM_OUT_LEVEL_INACTIVE
AnnaBridge 163:e59c8e839560 6305 * @arg @ref LL_HRTIM_OUT_LEVEL_ACTIVE
AnnaBridge 163:e59c8e839560 6306 */
AnnaBridge 163:e59c8e839560 6307 __STATIC_INLINE uint32_t LL_HRTIM_OUT_GetLevel(HRTIM_TypeDef *HRTIMx, uint32_t Output)
AnnaBridge 163:e59c8e839560 6308 {
AnnaBridge 163:e59c8e839560 6309 register uint32_t iOutput = (uint8_t)(POSITION_VAL(Output) - POSITION_VAL(LL_HRTIM_OUTPUT_TA1));
AnnaBridge 163:e59c8e839560 6310 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sTimerxRegs[0].TIMxISR) +
AnnaBridge 163:e59c8e839560 6311 REG_OFFSET_TAB_OUTxR[iOutput]));
AnnaBridge 163:e59c8e839560 6312 return ((READ_BIT(*pReg, (HRTIM_TIMISR_O1CPY << REG_SHIFT_TAB_OxSTAT[iOutput])) >> REG_SHIFT_TAB_OxSTAT[iOutput]) >>
AnnaBridge 163:e59c8e839560 6313 HRTIM_TIMISR_O1CPY_Pos);
AnnaBridge 163:e59c8e839560 6314 }
AnnaBridge 163:e59c8e839560 6315
AnnaBridge 163:e59c8e839560 6316 /**
AnnaBridge 163:e59c8e839560 6317 * @}
AnnaBridge 163:e59c8e839560 6318 */
AnnaBridge 163:e59c8e839560 6319
AnnaBridge 163:e59c8e839560 6320 /** @defgroup HRTIM_EF_External_Event_management External_Event_management
AnnaBridge 163:e59c8e839560 6321 * @{
AnnaBridge 163:e59c8e839560 6322 */
AnnaBridge 163:e59c8e839560 6323
AnnaBridge 163:e59c8e839560 6324 /**
AnnaBridge 163:e59c8e839560 6325 * @brief Configure external event conditioning.
AnnaBridge 163:e59c8e839560 6326 * @rmtoll EECR1 EE1SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6327 * EECR1 EE1POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6328 * EECR1 EE1SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6329 * EECR1 EE1FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6330 * EECR1 EE2SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6331 * EECR1 EE2POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6332 * EECR1 EE2SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6333 * EECR1 EE2FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6334 * EECR1 EE3SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6335 * EECR1 EE3POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6336 * EECR1 EE3SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6337 * EECR1 EE3FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6338 * EECR1 EE4SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6339 * EECR1 EE4POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6340 * EECR1 EE4SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6341 * EECR1 EE4FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6342 * EECR1 EE5SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6343 * EECR1 EE5POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6344 * EECR1 EE5SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6345 * EECR1 EE5FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6346 * EECR2 EE6SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6347 * EECR2 EE6POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6348 * EECR2 EE6SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6349 * EECR2 EE6FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6350 * EECR2 EE7SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6351 * EECR2 EE7POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6352 * EECR2 EE7SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6353 * EECR2 EE7FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6354 * EECR2 EE8SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6355 * EECR2 EE8POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6356 * EECR2 EE8SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6357 * EECR2 EE8FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6358 * EECR2 EE9SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6359 * EECR2 EE9POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6360 * EECR2 EE9SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6361 * EECR2 EE9FAST LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6362 * EECR2 EE10SRC LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6363 * EECR2 EE10POL LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6364 * EECR2 EE10SNS LL_HRTIM_EE_Config\n
AnnaBridge 163:e59c8e839560 6365 * EECR2 EE10FAST LL_HRTIM_EE_Config
AnnaBridge 163:e59c8e839560 6366 * @note This function must not be called when the timer counter is enabled.
AnnaBridge 163:e59c8e839560 6367 * @note Event source (EExSrc1..EExSRC4) mapping depends on configured event channel.
AnnaBridge 163:e59c8e839560 6368 * @note Fast mode is available only for LL_HRTIM_EVENT_1..5.
AnnaBridge 163:e59c8e839560 6369 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6370 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6371 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6372 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6373 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6374 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6375 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6376 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6377 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6378 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6379 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6380 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6381 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 6382 * @arg @ref LL_HRTIM_EE_SRC_1 or @ref LL_HRTIM_EE_SRC_2 or @ref LL_HRTIM_EE_SRC_3 or @ref LL_HRTIM_EE_SRC_4
AnnaBridge 163:e59c8e839560 6383 * @arg @ref LL_HRTIM_EE_POLARITY_HIGH or @ref LL_HRTIM_EE_POLARITY_LOW
AnnaBridge 163:e59c8e839560 6384 * @arg @ref LL_HRTIM_EE_SENSITIVITY_LEVEL or @ref LL_HRTIM_EE_SENSITIVITY_RISINGEDGE or @ref LL_HRTIM_EE_SENSITIVITY_FALLINGEDGE or @ref LL_HRTIM_EE_SENSITIVITY_BOTHEDGES
AnnaBridge 163:e59c8e839560 6385 * @arg @ref LL_HRTIM_EE_FASTMODE_DISABLE or @ref LL_HRTIM_EE_FASTMODE_ENABLE
AnnaBridge 163:e59c8e839560 6386 * @retval None
AnnaBridge 163:e59c8e839560 6387 */
AnnaBridge 163:e59c8e839560 6388 __STATIC_INLINE void LL_HRTIM_EE_Config(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 6389 {
AnnaBridge 163:e59c8e839560 6390 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6391 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6392 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6393 MODIFY_REG(*pReg, (HRTIM_EE_CONFIG_MASK << REG_SHIFT_TAB_EExSRC[iEvent]),
AnnaBridge 163:e59c8e839560 6394 (Configuration << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6395 }
AnnaBridge 163:e59c8e839560 6396
AnnaBridge 163:e59c8e839560 6397 /**
AnnaBridge 163:e59c8e839560 6398 * @brief Set the external event source.
AnnaBridge 163:e59c8e839560 6399 * @rmtoll EECR1 EE1SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6400 * EECR1 EE2SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6401 * EECR1 EE3SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6402 * EECR1 EE4SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6403 * EECR1 EE5SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6404 * EECR2 EE6SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6405 * EECR2 EE7SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6406 * EECR2 EE8SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6407 * EECR2 EE9SRC LL_HRTIM_EE_SetSrc\n
AnnaBridge 163:e59c8e839560 6408 * EECR2 EE10SRC LL_HRTIM_EE_SetSrc
AnnaBridge 163:e59c8e839560 6409 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6410 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6411 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6412 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6413 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6414 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6415 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6416 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6417 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6418 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6419 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6420 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6421 * @param Src This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6422 * @arg @ref LL_HRTIM_EE_SRC_1
AnnaBridge 163:e59c8e839560 6423 * @arg @ref LL_HRTIM_EE_SRC_2
AnnaBridge 163:e59c8e839560 6424 * @arg @ref LL_HRTIM_EE_SRC_3
AnnaBridge 163:e59c8e839560 6425 * @arg @ref LL_HRTIM_EE_SRC_4
AnnaBridge 163:e59c8e839560 6426 * @retval None
AnnaBridge 163:e59c8e839560 6427 */
AnnaBridge 163:e59c8e839560 6428 __STATIC_INLINE void LL_HRTIM_EE_SetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t Src)
AnnaBridge 163:e59c8e839560 6429 {
AnnaBridge 163:e59c8e839560 6430 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6431 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6432 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6433 MODIFY_REG(*pReg, (HRTIM_EECR1_EE1SRC << REG_SHIFT_TAB_EExSRC[iEvent]), (Src << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6434 }
AnnaBridge 163:e59c8e839560 6435
AnnaBridge 163:e59c8e839560 6436 /**
AnnaBridge 163:e59c8e839560 6437 * @brief Get actual external event source.
AnnaBridge 163:e59c8e839560 6438 * @rmtoll EECR1 EE1SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6439 * EECR1 EE2SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6440 * EECR1 EE3SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6441 * EECR1 EE4SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6442 * EECR1 EE5SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6443 * EECR2 EE6SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6444 * EECR2 EE7SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6445 * EECR2 EE8SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6446 * EECR2 EE9SRC LL_HRTIM_EE_GetSrc\n
AnnaBridge 163:e59c8e839560 6447 * EECR2 EE10SRC LL_HRTIM_EE_GetSrc
AnnaBridge 163:e59c8e839560 6448 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6449 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6450 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6451 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6452 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6453 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6454 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6455 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6456 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6457 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6458 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6459 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6460 * @retval EventSrc This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6461 * @arg @ref LL_HRTIM_EE_SRC_1
AnnaBridge 163:e59c8e839560 6462 * @arg @ref LL_HRTIM_EE_SRC_2
AnnaBridge 163:e59c8e839560 6463 * @arg @ref LL_HRTIM_EE_SRC_3
AnnaBridge 163:e59c8e839560 6464 * @arg @ref LL_HRTIM_EE_SRC_4
AnnaBridge 163:e59c8e839560 6465 */
AnnaBridge 163:e59c8e839560 6466 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Event)
AnnaBridge 163:e59c8e839560 6467 {
AnnaBridge 163:e59c8e839560 6468 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6469 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6470 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6471 return (READ_BIT(*pReg, HRTIM_EECR1_EE1SRC << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 6472 }
AnnaBridge 163:e59c8e839560 6473
AnnaBridge 163:e59c8e839560 6474 /**
AnnaBridge 163:e59c8e839560 6475 * @brief Set the polarity of an external event.
AnnaBridge 163:e59c8e839560 6476 * @rmtoll EECR1 EE1POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6477 * EECR1 EE2POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6478 * EECR1 EE3POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6479 * EECR1 EE4POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6480 * EECR1 EE5POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6481 * EECR2 EE6POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6482 * EECR2 EE7POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6483 * EECR2 EE8POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6484 * EECR2 EE9POL LL_HRTIM_EE_SetPolarity\n
AnnaBridge 163:e59c8e839560 6485 * EECR2 EE10POL LL_HRTIM_EE_SetPolarity
AnnaBridge 163:e59c8e839560 6486 * @note This function must not be called when the timer counter is enabled.
AnnaBridge 163:e59c8e839560 6487 * @note Event polarity is only significant when event detection is level-sensitive.
AnnaBridge 163:e59c8e839560 6488 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6489 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6490 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6491 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6492 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6493 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6494 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6495 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6496 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6497 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6498 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6499 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6500 * @param Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6501 * @arg @ref LL_HRTIM_EE_POLARITY_HIGH
AnnaBridge 163:e59c8e839560 6502 * @arg @ref LL_HRTIM_EE_POLARITY_LOW
AnnaBridge 163:e59c8e839560 6503 * @retval None
AnnaBridge 163:e59c8e839560 6504 */
AnnaBridge 163:e59c8e839560 6505 __STATIC_INLINE void LL_HRTIM_EE_SetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t Polarity)
AnnaBridge 163:e59c8e839560 6506 {
AnnaBridge 163:e59c8e839560 6507 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6508 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6509 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6510 MODIFY_REG(*pReg, (HRTIM_EECR1_EE1POL << REG_SHIFT_TAB_EExSRC[iEvent]), (Polarity << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6511 }
AnnaBridge 163:e59c8e839560 6512
AnnaBridge 163:e59c8e839560 6513 /**
AnnaBridge 163:e59c8e839560 6514 * @brief Get actual polarity setting of an external event.
AnnaBridge 163:e59c8e839560 6515 * @rmtoll EECR1 EE1POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6516 * EECR1 EE2POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6517 * EECR1 EE3POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6518 * EECR1 EE4POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6519 * EECR1 EE5POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6520 * EECR2 EE6POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6521 * EECR2 EE7POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6522 * EECR2 EE8POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6523 * EECR2 EE9POL LL_HRTIM_EE_GetPolarity\n
AnnaBridge 163:e59c8e839560 6524 * EECR2 EE10POL LL_HRTIM_EE_GetPolarity
AnnaBridge 163:e59c8e839560 6525 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6526 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6527 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6528 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6529 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6530 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6531 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6532 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6533 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6534 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6535 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6536 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6537 * @retval Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6538 * @arg @ref LL_HRTIM_EE_POLARITY_HIGH
AnnaBridge 163:e59c8e839560 6539 * @arg @ref LL_HRTIM_EE_POLARITY_LOW
AnnaBridge 163:e59c8e839560 6540 */
AnnaBridge 163:e59c8e839560 6541 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Event)
AnnaBridge 163:e59c8e839560 6542 {
AnnaBridge 163:e59c8e839560 6543 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6544 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6545 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6546 return (READ_BIT(*pReg, HRTIM_EECR1_EE1POL << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 6547 }
AnnaBridge 163:e59c8e839560 6548
AnnaBridge 163:e59c8e839560 6549 /**
AnnaBridge 163:e59c8e839560 6550 * @brief Set the sensitivity of an external event.
AnnaBridge 163:e59c8e839560 6551 * @rmtoll EECR1 EE1SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6552 * EECR1 EE2SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6553 * EECR1 EE3SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6554 * EECR1 EE4SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6555 * EECR1 EE5SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6556 * EECR2 EE6SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6557 * EECR2 EE7SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6558 * EECR2 EE8SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6559 * EECR2 EE9SNS LL_HRTIM_EE_SetSensitivity\n
AnnaBridge 163:e59c8e839560 6560 * EECR2 EE10SNS LL_HRTIM_EE_SetSensitivity
AnnaBridge 163:e59c8e839560 6561 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6562 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6563 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6564 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6565 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6566 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6567 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6568 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6569 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6570 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6571 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6572 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6573 * @param Sensitivity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6574 * @arg @ref LL_HRTIM_EE_SENSITIVITY_LEVEL
AnnaBridge 163:e59c8e839560 6575 * @arg @ref LL_HRTIM_EE_SENSITIVITY_RISINGEDGE
AnnaBridge 163:e59c8e839560 6576 * @arg @ref LL_HRTIM_EE_SENSITIVITY_FALLINGEDGE
AnnaBridge 163:e59c8e839560 6577 * @arg @ref LL_HRTIM_EE_SENSITIVITY_BOTHEDGES
AnnaBridge 163:e59c8e839560 6578 * @retval None
AnnaBridge 163:e59c8e839560 6579 */
AnnaBridge 163:e59c8e839560 6580
AnnaBridge 163:e59c8e839560 6581 __STATIC_INLINE void LL_HRTIM_EE_SetSensitivity(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t Sensitivity)
AnnaBridge 163:e59c8e839560 6582 {
AnnaBridge 163:e59c8e839560 6583 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6584 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6585 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6586 MODIFY_REG(*pReg, (HRTIM_EECR1_EE1SNS << REG_SHIFT_TAB_EExSRC[iEvent]), (Sensitivity << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6587 }
AnnaBridge 163:e59c8e839560 6588
AnnaBridge 163:e59c8e839560 6589 /**
AnnaBridge 163:e59c8e839560 6590 * @brief Get actual sensitivity setting of an external event.
AnnaBridge 163:e59c8e839560 6591 * @rmtoll EECR1 EE1SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6592 * EECR1 EE2SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6593 * EECR1 EE3SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6594 * EECR1 EE4SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6595 * EECR1 EE5SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6596 * EECR2 EE6SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6597 * EECR2 EE7SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6598 * EECR2 EE8SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6599 * EECR2 EE9SNS LL_HRTIM_EE_GetSensitivity\n
AnnaBridge 163:e59c8e839560 6600 * EECR2 EE10SNS LL_HRTIM_EE_GetSensitivity
AnnaBridge 163:e59c8e839560 6601 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6602 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6603 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6604 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6605 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6606 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6607 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6608 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6609 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6610 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6611 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6612 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6613 * @retval Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6614 * @arg @ref LL_HRTIM_EE_SENSITIVITY_LEVEL
AnnaBridge 163:e59c8e839560 6615 * @arg @ref LL_HRTIM_EE_SENSITIVITY_RISINGEDGE
AnnaBridge 163:e59c8e839560 6616 * @arg @ref LL_HRTIM_EE_SENSITIVITY_FALLINGEDGE
AnnaBridge 163:e59c8e839560 6617 * @arg @ref LL_HRTIM_EE_SENSITIVITY_BOTHEDGES
AnnaBridge 163:e59c8e839560 6618 */
AnnaBridge 163:e59c8e839560 6619 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetSensitivity(HRTIM_TypeDef *HRTIMx, uint32_t Event)
AnnaBridge 163:e59c8e839560 6620 {
AnnaBridge 163:e59c8e839560 6621 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6622 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6623 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6624 return (READ_BIT(*pReg, HRTIM_EECR1_EE1SNS << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 6625 }
AnnaBridge 163:e59c8e839560 6626
AnnaBridge 163:e59c8e839560 6627 /**
AnnaBridge 163:e59c8e839560 6628 * @brief Set the fast mode of an external event.
AnnaBridge 163:e59c8e839560 6629 * @rmtoll EECR1 EE1FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6630 * EECR1 EE2FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6631 * EECR1 EE3FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6632 * EECR1 EE4FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6633 * EECR1 EE5FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6634 * EECR2 EE6FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6635 * EECR2 EE7FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6636 * EECR2 EE8FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6637 * EECR2 EE9FAST LL_HRTIM_EE_SetFastMode\n
AnnaBridge 163:e59c8e839560 6638 * EECR2 EE10FAST LL_HRTIM_EE_SetFastMode
AnnaBridge 163:e59c8e839560 6639 * @note This function must not be called when the timer counter is enabled.
AnnaBridge 163:e59c8e839560 6640 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6641 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6642 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6643 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6644 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6645 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6646 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6647 * @param FastMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6648 * @arg @ref LL_HRTIM_EE_FASTMODE_DISABLE
AnnaBridge 163:e59c8e839560 6649 * @arg @ref LL_HRTIM_EE_FASTMODE_ENABLE
AnnaBridge 163:e59c8e839560 6650 * @retval None
AnnaBridge 163:e59c8e839560 6651 */
AnnaBridge 163:e59c8e839560 6652 __STATIC_INLINE void LL_HRTIM_EE_SetFastMode(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t FastMode)
AnnaBridge 163:e59c8e839560 6653 {
AnnaBridge 163:e59c8e839560 6654 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6655 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6656 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6657 MODIFY_REG(*pReg, (HRTIM_EECR1_EE1FAST << REG_SHIFT_TAB_EExSRC[iEvent]), (FastMode << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6658 }
AnnaBridge 163:e59c8e839560 6659
AnnaBridge 163:e59c8e839560 6660 /**
AnnaBridge 163:e59c8e839560 6661 * @brief Get actual fast mode setting of an external event.
AnnaBridge 163:e59c8e839560 6662 * @rmtoll EECR1 EE1FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6663 * EECR1 EE2FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6664 * EECR1 EE3FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6665 * EECR1 EE4FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6666 * EECR1 EE5FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6667 * EECR2 EE6FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6668 * EECR2 EE7FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6669 * EECR2 EE8FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6670 * EECR2 EE9FAST LL_HRTIM_EE_GetFastMode\n
AnnaBridge 163:e59c8e839560 6671 * EECR2 EE10FAST LL_HRTIM_EE_GetFastMode
AnnaBridge 163:e59c8e839560 6672 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6673 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6674 * @arg @ref LL_HRTIM_EVENT_1
AnnaBridge 163:e59c8e839560 6675 * @arg @ref LL_HRTIM_EVENT_2
AnnaBridge 163:e59c8e839560 6676 * @arg @ref LL_HRTIM_EVENT_3
AnnaBridge 163:e59c8e839560 6677 * @arg @ref LL_HRTIM_EVENT_4
AnnaBridge 163:e59c8e839560 6678 * @arg @ref LL_HRTIM_EVENT_5
AnnaBridge 163:e59c8e839560 6679 * @retval FastMode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6680 * @arg @ref LL_HRTIM_EE_FASTMODE_DISABLE
AnnaBridge 163:e59c8e839560 6681 * @arg @ref LL_HRTIM_EE_FASTMODE_ENABLE
AnnaBridge 163:e59c8e839560 6682 */
AnnaBridge 163:e59c8e839560 6683 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetFastMode(HRTIM_TypeDef *HRTIMx, uint32_t Event)
AnnaBridge 163:e59c8e839560 6684 {
AnnaBridge 163:e59c8e839560 6685 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6686 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.EECR1) +
AnnaBridge 163:e59c8e839560 6687 REG_OFFSET_TAB_EECR[iEvent]));
AnnaBridge 163:e59c8e839560 6688 return (READ_BIT(*pReg, HRTIM_EECR1_EE1FAST << REG_SHIFT_TAB_EExSRC[iEvent]) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 6689 }
AnnaBridge 163:e59c8e839560 6690
AnnaBridge 163:e59c8e839560 6691 /**
AnnaBridge 163:e59c8e839560 6692 * @brief Set the digital noise filter of a external event.
AnnaBridge 163:e59c8e839560 6693 * @rmtoll EECR3 EE6F LL_HRTIM_EE_SetFilter\n
AnnaBridge 163:e59c8e839560 6694 * EECR3 EE7F LL_HRTIM_EE_SetFilter\n
AnnaBridge 163:e59c8e839560 6695 * EECR3 EE8F LL_HRTIM_EE_SetFilter\n
AnnaBridge 163:e59c8e839560 6696 * EECR3 EE9F LL_HRTIM_EE_SetFilter\n
AnnaBridge 163:e59c8e839560 6697 * EECR3 EE10F LL_HRTIM_EE_SetFilter
AnnaBridge 163:e59c8e839560 6698 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6699 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6700 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6701 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6702 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6703 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6704 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6705 * @param Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6706 * @arg @ref LL_HRTIM_EE_FILTER_NONE
AnnaBridge 163:e59c8e839560 6707 * @arg @ref LL_HRTIM_EE_FILTER_1
AnnaBridge 163:e59c8e839560 6708 * @arg @ref LL_HRTIM_EE_FILTER_2
AnnaBridge 163:e59c8e839560 6709 * @arg @ref LL_HRTIM_EE_FILTER_3
AnnaBridge 163:e59c8e839560 6710 * @arg @ref LL_HRTIM_EE_FILTER_4
AnnaBridge 163:e59c8e839560 6711 * @arg @ref LL_HRTIM_EE_FILTER_5
AnnaBridge 163:e59c8e839560 6712 * @arg @ref LL_HRTIM_EE_FILTER_6
AnnaBridge 163:e59c8e839560 6713 * @arg @ref LL_HRTIM_EE_FILTER_7
AnnaBridge 163:e59c8e839560 6714 * @arg @ref LL_HRTIM_EE_FILTER_8
AnnaBridge 163:e59c8e839560 6715 * @arg @ref LL_HRTIM_EE_FILTER_9
AnnaBridge 163:e59c8e839560 6716 * @arg @ref LL_HRTIM_EE_FILTER_10
AnnaBridge 163:e59c8e839560 6717 * @arg @ref LL_HRTIM_EE_FILTER_11
AnnaBridge 163:e59c8e839560 6718 * @arg @ref LL_HRTIM_EE_FILTER_12
AnnaBridge 163:e59c8e839560 6719 * @arg @ref LL_HRTIM_EE_FILTER_13
AnnaBridge 163:e59c8e839560 6720 * @arg @ref LL_HRTIM_EE_FILTER_14
AnnaBridge 163:e59c8e839560 6721 * @arg @ref LL_HRTIM_EE_FILTER_15
AnnaBridge 163:e59c8e839560 6722 * @retval None
AnnaBridge 163:e59c8e839560 6723 */
AnnaBridge 163:e59c8e839560 6724 __STATIC_INLINE void LL_HRTIM_EE_SetFilter(HRTIM_TypeDef *HRTIMx, uint32_t Event, uint32_t Filter)
AnnaBridge 163:e59c8e839560 6725 {
AnnaBridge 163:e59c8e839560 6726 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_1));
AnnaBridge 163:e59c8e839560 6727 MODIFY_REG(HRTIMx->sCommonRegs.EECR3, (HRTIM_EECR3_EE6F << REG_SHIFT_TAB_EExSRC[iEvent]),
AnnaBridge 163:e59c8e839560 6728 (Filter << REG_SHIFT_TAB_EExSRC[iEvent]));
AnnaBridge 163:e59c8e839560 6729 }
AnnaBridge 163:e59c8e839560 6730
AnnaBridge 163:e59c8e839560 6731 /**
AnnaBridge 163:e59c8e839560 6732 * @brief Get actual digital noise filter setting of a external event.
AnnaBridge 163:e59c8e839560 6733 * @rmtoll EECR3 EE6F LL_HRTIM_EE_GetFilter\n
AnnaBridge 163:e59c8e839560 6734 * EECR3 EE7F LL_HRTIM_EE_GetFilter\n
AnnaBridge 163:e59c8e839560 6735 * EECR3 EE8F LL_HRTIM_EE_GetFilter\n
AnnaBridge 163:e59c8e839560 6736 * EECR3 EE9F LL_HRTIM_EE_GetFilter\n
AnnaBridge 163:e59c8e839560 6737 * EECR3 EE10F LL_HRTIM_EE_GetFilter
AnnaBridge 163:e59c8e839560 6738 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6739 * @param Event This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6740 * @arg @ref LL_HRTIM_EVENT_6
AnnaBridge 163:e59c8e839560 6741 * @arg @ref LL_HRTIM_EVENT_7
AnnaBridge 163:e59c8e839560 6742 * @arg @ref LL_HRTIM_EVENT_8
AnnaBridge 163:e59c8e839560 6743 * @arg @ref LL_HRTIM_EVENT_9
AnnaBridge 163:e59c8e839560 6744 * @arg @ref LL_HRTIM_EVENT_10
AnnaBridge 163:e59c8e839560 6745 * @retval Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6746 * @arg @ref LL_HRTIM_EE_FILTER_NONE
AnnaBridge 163:e59c8e839560 6747 * @arg @ref LL_HRTIM_EE_FILTER_1
AnnaBridge 163:e59c8e839560 6748 * @arg @ref LL_HRTIM_EE_FILTER_2
AnnaBridge 163:e59c8e839560 6749 * @arg @ref LL_HRTIM_EE_FILTER_3
AnnaBridge 163:e59c8e839560 6750 * @arg @ref LL_HRTIM_EE_FILTER_4
AnnaBridge 163:e59c8e839560 6751 * @arg @ref LL_HRTIM_EE_FILTER_5
AnnaBridge 163:e59c8e839560 6752 * @arg @ref LL_HRTIM_EE_FILTER_6
AnnaBridge 163:e59c8e839560 6753 * @arg @ref LL_HRTIM_EE_FILTER_7
AnnaBridge 163:e59c8e839560 6754 * @arg @ref LL_HRTIM_EE_FILTER_8
AnnaBridge 163:e59c8e839560 6755 * @arg @ref LL_HRTIM_EE_FILTER_9
AnnaBridge 163:e59c8e839560 6756 * @arg @ref LL_HRTIM_EE_FILTER_10
AnnaBridge 163:e59c8e839560 6757 * @arg @ref LL_HRTIM_EE_FILTER_11
AnnaBridge 163:e59c8e839560 6758 * @arg @ref LL_HRTIM_EE_FILTER_12
AnnaBridge 163:e59c8e839560 6759 * @arg @ref LL_HRTIM_EE_FILTER_13
AnnaBridge 163:e59c8e839560 6760 * @arg @ref LL_HRTIM_EE_FILTER_14
AnnaBridge 163:e59c8e839560 6761 * @arg @ref LL_HRTIM_EE_FILTER_15
AnnaBridge 163:e59c8e839560 6762 */
AnnaBridge 163:e59c8e839560 6763 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetFilter(HRTIM_TypeDef *HRTIMx, uint32_t Event)
AnnaBridge 163:e59c8e839560 6764 {
AnnaBridge 163:e59c8e839560 6765 register uint32_t iEvent = (uint8_t)(POSITION_VAL(Event) - POSITION_VAL(LL_HRTIM_EVENT_6));
AnnaBridge 163:e59c8e839560 6766 return (READ_BIT(HRTIMx->sCommonRegs.EECR3,
AnnaBridge 163:e59c8e839560 6767 (HRTIM_EECR3_EE6F << REG_SHIFT_TAB_EExSRC[iEvent])) >> REG_SHIFT_TAB_EExSRC[iEvent]);
AnnaBridge 163:e59c8e839560 6768 }
AnnaBridge 163:e59c8e839560 6769
AnnaBridge 163:e59c8e839560 6770 /**
AnnaBridge 163:e59c8e839560 6771 * @brief Set the external event prescaler.
AnnaBridge 163:e59c8e839560 6772 * @rmtoll EECR3 EEVSD LL_HRTIM_EE_SetPrescaler
AnnaBridge 163:e59c8e839560 6773 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6774 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6775 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 6776 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 6777 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 6778 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 6779 * @retval None
AnnaBridge 163:e59c8e839560 6780 */
AnnaBridge 163:e59c8e839560 6781
AnnaBridge 163:e59c8e839560 6782 __STATIC_INLINE void LL_HRTIM_EE_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 6783 {
AnnaBridge 163:e59c8e839560 6784 MODIFY_REG(HRTIMx->sCommonRegs.EECR3, HRTIM_EECR3_EEVSD, Prescaler);
AnnaBridge 163:e59c8e839560 6785 }
AnnaBridge 163:e59c8e839560 6786
AnnaBridge 163:e59c8e839560 6787 /**
AnnaBridge 163:e59c8e839560 6788 * @brief Get actual external event prescaler setting.
AnnaBridge 163:e59c8e839560 6789 * @rmtoll EECR3 EEVSD LL_HRTIM_EE_GetPrescaler
AnnaBridge 163:e59c8e839560 6790 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6791 * @retval Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6792 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 6793 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 6794 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 6795 * @arg @ref LL_HRTIM_EE_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 6796 */
AnnaBridge 163:e59c8e839560 6797
AnnaBridge 163:e59c8e839560 6798 __STATIC_INLINE uint32_t LL_HRTIM_EE_GetPrescaler(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 6799 {
AnnaBridge 163:e59c8e839560 6800 return (READ_BIT(HRTIMx->sCommonRegs.EECR3, HRTIM_EECR3_EEVSD));
AnnaBridge 163:e59c8e839560 6801 }
AnnaBridge 163:e59c8e839560 6802
AnnaBridge 163:e59c8e839560 6803 /**
AnnaBridge 163:e59c8e839560 6804 * @}
AnnaBridge 163:e59c8e839560 6805 */
AnnaBridge 163:e59c8e839560 6806
AnnaBridge 163:e59c8e839560 6807 /** @defgroup HRTIM_EF_Fault_management Fault_management
AnnaBridge 163:e59c8e839560 6808 * @{
AnnaBridge 163:e59c8e839560 6809 */
AnnaBridge 163:e59c8e839560 6810
AnnaBridge 163:e59c8e839560 6811 /**
AnnaBridge 163:e59c8e839560 6812 * @brief Configure fault signal conditioning.
AnnaBridge 163:e59c8e839560 6813 * @rmtoll FLTINR1 FLT1P LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6814 * FLTINR1 FLT1SRC LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6815 * FLTINR1 FLT2P LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6816 * FLTINR1 FLT2SRC LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6817 * FLTINR1 FLT3P LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6818 * FLTINR1 FLT3SRC LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6819 * FLTINR1 FLT4P LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6820 * FLTINR1 FLT4SRC LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6821 * FLTINR2 FLT5P LL_HRTIM_FLT_Config\n
AnnaBridge 163:e59c8e839560 6822 * FLTINR2 FLT5SRC LL_HRTIM_FLT_Config
AnnaBridge 163:e59c8e839560 6823 * @note This function must not be called when the fault channel is enabled.
AnnaBridge 163:e59c8e839560 6824 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6825 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6826 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6827 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6828 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6829 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6830 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6831 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 6832 * @arg @ref LL_HRTIM_FLT_SRC_DIGITALINPUT or @ref LL_HRTIM_FLT_SRC_INTERNAL
AnnaBridge 163:e59c8e839560 6833 * @arg @ref LL_HRTIM_FLT_POLARITY_LOW or @ref LL_HRTIM_FLT_POLARITY_HIGH
AnnaBridge 163:e59c8e839560 6834 * @retval None
AnnaBridge 163:e59c8e839560 6835 */
AnnaBridge 163:e59c8e839560 6836 __STATIC_INLINE void LL_HRTIM_FLT_Config(HRTIM_TypeDef *HRTIMx, uint32_t Fault, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 6837 {
AnnaBridge 163:e59c8e839560 6838 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6839 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6840 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6841 MODIFY_REG(*pReg, (HRTIM_FLT_CONFIG_MASK << REG_SHIFT_TAB_FLTxE[iFault]),
AnnaBridge 163:e59c8e839560 6842 (Configuration << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 6843 }
AnnaBridge 163:e59c8e839560 6844
AnnaBridge 163:e59c8e839560 6845 /**
AnnaBridge 163:e59c8e839560 6846 * @brief Set the source of a fault signal.
AnnaBridge 163:e59c8e839560 6847 * @rmtoll FLTINR1 FLT1SRC LL_HRTIM_FLT_SetSrc\n
AnnaBridge 163:e59c8e839560 6848 * FLTINR1 FLT2SRC LL_HRTIM_FLT_SetSrc\n
AnnaBridge 163:e59c8e839560 6849 * FLTINR1 FLT3SRC LL_HRTIM_FLT_SetSrc\n
AnnaBridge 163:e59c8e839560 6850 * FLTINR1 FLT4SRC LL_HRTIM_FLT_SetSrc\n
AnnaBridge 163:e59c8e839560 6851 * FLTINR2 FLT5SRC LL_HRTIM_FLT_SetSrc
AnnaBridge 163:e59c8e839560 6852 * @note This function must not be called when the fault channel is enabled.
AnnaBridge 163:e59c8e839560 6853 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6854 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6855 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6856 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6857 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6858 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6859 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6860 * @param Src This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6861 * @arg @ref LL_HRTIM_FLT_SRC_DIGITALINPUT
AnnaBridge 163:e59c8e839560 6862 * @arg @ref LL_HRTIM_FLT_SRC_INTERNAL
AnnaBridge 163:e59c8e839560 6863 * @retval None
AnnaBridge 163:e59c8e839560 6864 */
AnnaBridge 163:e59c8e839560 6865 __STATIC_INLINE void LL_HRTIM_FLT_SetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Fault, uint32_t Src)
AnnaBridge 163:e59c8e839560 6866 {
AnnaBridge 163:e59c8e839560 6867 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6868 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6869 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6870 MODIFY_REG(*pReg, (HRTIM_FLTINR1_FLT1SRC << REG_SHIFT_TAB_FLTxE[iFault]), (Src << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 6871 }
AnnaBridge 163:e59c8e839560 6872
AnnaBridge 163:e59c8e839560 6873 /**
AnnaBridge 163:e59c8e839560 6874 * @brief Get actual source of a fault signal.
AnnaBridge 163:e59c8e839560 6875 * @rmtoll FLTINR1 FLT1SRC LL_HRTIM_FLT_GetSrc\n
AnnaBridge 163:e59c8e839560 6876 * FLTINR1 FLT2SRC LL_HRTIM_FLT_GetSrc\n
AnnaBridge 163:e59c8e839560 6877 * FLTINR1 FLT3SRC LL_HRTIM_FLT_GetSrc\n
AnnaBridge 163:e59c8e839560 6878 * FLTINR1 FLT4SRC LL_HRTIM_FLT_GetSrc\n
AnnaBridge 163:e59c8e839560 6879 * FLTINR2 FLT5SRC LL_HRTIM_FLT_GetSrc
AnnaBridge 163:e59c8e839560 6880 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6881 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6882 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6883 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6884 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6885 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6886 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6887 * @retval Src This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6888 * @arg @ref LL_HRTIM_FLT_SRC_DIGITALINPUT
AnnaBridge 163:e59c8e839560 6889 * @arg @ref LL_HRTIM_FLT_SRC_INTERNAL
AnnaBridge 163:e59c8e839560 6890 */
AnnaBridge 163:e59c8e839560 6891 __STATIC_INLINE uint32_t LL_HRTIM_FLT_GetSrc(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 6892 {
AnnaBridge 163:e59c8e839560 6893 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6894 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6895 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6896 return (READ_BIT(*pReg, (HRTIM_FLTINR1_FLT1SRC << REG_SHIFT_TAB_FLTxE[iFault])) >> REG_SHIFT_TAB_FLTxE[iFault]);
AnnaBridge 163:e59c8e839560 6897 }
AnnaBridge 163:e59c8e839560 6898
AnnaBridge 163:e59c8e839560 6899 /**
AnnaBridge 163:e59c8e839560 6900 * @brief Set the polarity of a fault signal.
AnnaBridge 163:e59c8e839560 6901 * @rmtoll FLTINR1 FLT1P LL_HRTIM_FLT_SetPolarity\n
AnnaBridge 163:e59c8e839560 6902 * FLTINR1 FLT2P LL_HRTIM_FLT_SetPolarity\n
AnnaBridge 163:e59c8e839560 6903 * FLTINR1 FLT3P LL_HRTIM_FLT_SetPolarity\n
AnnaBridge 163:e59c8e839560 6904 * FLTINR1 FLT4P LL_HRTIM_FLT_SetPolarity\n
AnnaBridge 163:e59c8e839560 6905 * FLTINR2 FLT5P LL_HRTIM_FLT_SetPolarity
AnnaBridge 163:e59c8e839560 6906 * @note This function must not be called when the fault channel is enabled.
AnnaBridge 163:e59c8e839560 6907 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6908 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6909 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6910 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6911 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6912 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6913 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6914 * @param Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6915 * @arg @ref LL_HRTIM_FLT_POLARITY_LOW
AnnaBridge 163:e59c8e839560 6916 * @arg @ref LL_HRTIM_FLT_POLARITY_HIGH
AnnaBridge 163:e59c8e839560 6917 * @retval None
AnnaBridge 163:e59c8e839560 6918 */
AnnaBridge 163:e59c8e839560 6919 __STATIC_INLINE void LL_HRTIM_FLT_SetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Fault, uint32_t Polarity)
AnnaBridge 163:e59c8e839560 6920 {
AnnaBridge 163:e59c8e839560 6921 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6922 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6923 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6924 MODIFY_REG(*pReg, (HRTIM_FLTINR1_FLT1P << REG_SHIFT_TAB_FLTxE[iFault]), (Polarity << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 6925 }
AnnaBridge 163:e59c8e839560 6926
AnnaBridge 163:e59c8e839560 6927 /**
AnnaBridge 163:e59c8e839560 6928 * @brief Get actual polarity of a fault signal.
AnnaBridge 163:e59c8e839560 6929 * @rmtoll FLTINR1 FLT1P LL_HRTIM_FLT_GetPolarity\n
AnnaBridge 163:e59c8e839560 6930 * FLTINR1 FLT2P LL_HRTIM_FLT_GetPolarity\n
AnnaBridge 163:e59c8e839560 6931 * FLTINR1 FLT3P LL_HRTIM_FLT_GetPolarity\n
AnnaBridge 163:e59c8e839560 6932 * FLTINR1 FLT4P LL_HRTIM_FLT_GetPolarity\n
AnnaBridge 163:e59c8e839560 6933 * FLTINR2 FLT5P LL_HRTIM_FLT_GetPolarity
AnnaBridge 163:e59c8e839560 6934 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6935 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6936 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6937 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6938 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6939 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6940 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6941 * @retval Polarity This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6942 * @arg @ref LL_HRTIM_FLT_POLARITY_LOW
AnnaBridge 163:e59c8e839560 6943 * @arg @ref LL_HRTIM_FLT_POLARITY_HIGH
AnnaBridge 163:e59c8e839560 6944 */
AnnaBridge 163:e59c8e839560 6945 __STATIC_INLINE uint32_t LL_HRTIM_FLT_GetPolarity(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 6946 {
AnnaBridge 163:e59c8e839560 6947 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6948 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6949 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6950 return (READ_BIT(*pReg, (HRTIM_FLTINR1_FLT1P << REG_SHIFT_TAB_FLTxE[iFault])) >> REG_SHIFT_TAB_FLTxE[iFault]);
AnnaBridge 163:e59c8e839560 6951 }
AnnaBridge 163:e59c8e839560 6952
AnnaBridge 163:e59c8e839560 6953 /**
AnnaBridge 163:e59c8e839560 6954 * @brief Set the digital noise filter of a fault signal.
AnnaBridge 163:e59c8e839560 6955 * @rmtoll FLTINR1 FLT1F LL_HRTIM_FLT_SetFilter\n
AnnaBridge 163:e59c8e839560 6956 * FLTINR1 FLT2F LL_HRTIM_FLT_SetFilter\n
AnnaBridge 163:e59c8e839560 6957 * FLTINR1 FLT3F LL_HRTIM_FLT_SetFilter\n
AnnaBridge 163:e59c8e839560 6958 * FLTINR1 FLT4F LL_HRTIM_FLT_SetFilter\n
AnnaBridge 163:e59c8e839560 6959 * FLTINR2 FLT5F LL_HRTIM_FLT_SetFilter
AnnaBridge 163:e59c8e839560 6960 * @note This function must not be called when the fault channel is enabled.
AnnaBridge 163:e59c8e839560 6961 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 6962 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6963 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 6964 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 6965 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 6966 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 6967 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 6968 * @param Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 6969 * @arg @ref LL_HRTIM_FLT_FILTER_NONE
AnnaBridge 163:e59c8e839560 6970 * @arg @ref LL_HRTIM_FLT_FILTER_1
AnnaBridge 163:e59c8e839560 6971 * @arg @ref LL_HRTIM_FLT_FILTER_2
AnnaBridge 163:e59c8e839560 6972 * @arg @ref LL_HRTIM_FLT_FILTER_3
AnnaBridge 163:e59c8e839560 6973 * @arg @ref LL_HRTIM_FLT_FILTER_4
AnnaBridge 163:e59c8e839560 6974 * @arg @ref LL_HRTIM_FLT_FILTER_5
AnnaBridge 163:e59c8e839560 6975 * @arg @ref LL_HRTIM_FLT_FILTER_6
AnnaBridge 163:e59c8e839560 6976 * @arg @ref LL_HRTIM_FLT_FILTER_7
AnnaBridge 163:e59c8e839560 6977 * @arg @ref LL_HRTIM_FLT_FILTER_8
AnnaBridge 163:e59c8e839560 6978 * @arg @ref LL_HRTIM_FLT_FILTER_9
AnnaBridge 163:e59c8e839560 6979 * @arg @ref LL_HRTIM_FLT_FILTER_10
AnnaBridge 163:e59c8e839560 6980 * @arg @ref LL_HRTIM_FLT_FILTER_11
AnnaBridge 163:e59c8e839560 6981 * @arg @ref LL_HRTIM_FLT_FILTER_12
AnnaBridge 163:e59c8e839560 6982 * @arg @ref LL_HRTIM_FLT_FILTER_13
AnnaBridge 163:e59c8e839560 6983 * @arg @ref LL_HRTIM_FLT_FILTER_14
AnnaBridge 163:e59c8e839560 6984 * @arg @ref LL_HRTIM_FLT_FILTER_15
AnnaBridge 163:e59c8e839560 6985 * @retval None
AnnaBridge 163:e59c8e839560 6986 */
AnnaBridge 163:e59c8e839560 6987 __STATIC_INLINE void LL_HRTIM_FLT_SetFilter(HRTIM_TypeDef *HRTIMx, uint32_t Fault, uint32_t Filter)
AnnaBridge 163:e59c8e839560 6988 {
AnnaBridge 163:e59c8e839560 6989 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 6990 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 6991 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 6992 MODIFY_REG(*pReg, (HRTIM_FLTINR1_FLT1F << REG_SHIFT_TAB_FLTxE[iFault]), (Filter << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 6993 }
AnnaBridge 163:e59c8e839560 6994
AnnaBridge 163:e59c8e839560 6995 /**
AnnaBridge 163:e59c8e839560 6996 * @brief Get actual digital noise filter setting of a fault signal.
AnnaBridge 163:e59c8e839560 6997 * @rmtoll FLTINR1 FLT1F LL_HRTIM_FLT_GetFilter\n
AnnaBridge 163:e59c8e839560 6998 * FLTINR1 FLT2F LL_HRTIM_FLT_GetFilter\n
AnnaBridge 163:e59c8e839560 6999 * FLTINR1 FLT3F LL_HRTIM_FLT_GetFilter\n
AnnaBridge 163:e59c8e839560 7000 * FLTINR1 FLT4F LL_HRTIM_FLT_GetFilter\n
AnnaBridge 163:e59c8e839560 7001 * FLTINR2 FLT5F LL_HRTIM_FLT_GetFilter
AnnaBridge 163:e59c8e839560 7002 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7003 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7004 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 7005 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 7006 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 7007 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 7008 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 7009 * @retval Filter This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7010 * @arg @ref LL_HRTIM_FLT_FILTER_NONE
AnnaBridge 163:e59c8e839560 7011 * @arg @ref LL_HRTIM_FLT_FILTER_1
AnnaBridge 163:e59c8e839560 7012 * @arg @ref LL_HRTIM_FLT_FILTER_2
AnnaBridge 163:e59c8e839560 7013 * @arg @ref LL_HRTIM_FLT_FILTER_3
AnnaBridge 163:e59c8e839560 7014 * @arg @ref LL_HRTIM_FLT_FILTER_4
AnnaBridge 163:e59c8e839560 7015 * @arg @ref LL_HRTIM_FLT_FILTER_5
AnnaBridge 163:e59c8e839560 7016 * @arg @ref LL_HRTIM_FLT_FILTER_6
AnnaBridge 163:e59c8e839560 7017 * @arg @ref LL_HRTIM_FLT_FILTER_7
AnnaBridge 163:e59c8e839560 7018 * @arg @ref LL_HRTIM_FLT_FILTER_8
AnnaBridge 163:e59c8e839560 7019 * @arg @ref LL_HRTIM_FLT_FILTER_9
AnnaBridge 163:e59c8e839560 7020 * @arg @ref LL_HRTIM_FLT_FILTER_10
AnnaBridge 163:e59c8e839560 7021 * @arg @ref LL_HRTIM_FLT_FILTER_11
AnnaBridge 163:e59c8e839560 7022 * @arg @ref LL_HRTIM_FLT_FILTER_12
AnnaBridge 163:e59c8e839560 7023 * @arg @ref LL_HRTIM_FLT_FILTER_13
AnnaBridge 163:e59c8e839560 7024 * @arg @ref LL_HRTIM_FLT_FILTER_14
AnnaBridge 163:e59c8e839560 7025 * @arg @ref LL_HRTIM_FLT_FILTER_15
AnnaBridge 163:e59c8e839560 7026 */
AnnaBridge 163:e59c8e839560 7027 __STATIC_INLINE uint32_t LL_HRTIM_FLT_GetFilter(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 7028 {
AnnaBridge 163:e59c8e839560 7029 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 7030 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 7031 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 7032 return (READ_BIT(*pReg, (HRTIM_FLTINR1_FLT1F << REG_SHIFT_TAB_FLTxE[iFault])) >> REG_SHIFT_TAB_FLTxE[iFault]);
AnnaBridge 163:e59c8e839560 7033 }
AnnaBridge 163:e59c8e839560 7034
AnnaBridge 163:e59c8e839560 7035 /**
AnnaBridge 163:e59c8e839560 7036 * @brief Set the fault circuitry prescaler.
AnnaBridge 163:e59c8e839560 7037 * @rmtoll FLTINR2 FLTSD LL_HRTIM_FLT_SetPrescaler
AnnaBridge 163:e59c8e839560 7038 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7039 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7040 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 7041 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 7042 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 7043 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 7044 * @retval None
AnnaBridge 163:e59c8e839560 7045 */
AnnaBridge 163:e59c8e839560 7046 __STATIC_INLINE void LL_HRTIM_FLT_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 7047 {
AnnaBridge 163:e59c8e839560 7048 MODIFY_REG(HRTIMx->sCommonRegs.FLTINR2, HRTIM_FLTINR2_FLTSD, Prescaler);
AnnaBridge 163:e59c8e839560 7049 }
AnnaBridge 163:e59c8e839560 7050
AnnaBridge 163:e59c8e839560 7051 /**
AnnaBridge 163:e59c8e839560 7052 * @brief Get actual fault circuitry prescaler setting.
AnnaBridge 163:e59c8e839560 7053 * @rmtoll FLTINR2 FLTSD LL_HRTIM_FLT_GetPrescaler
AnnaBridge 163:e59c8e839560 7054 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7055 * @retval Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7056 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 7057 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 7058 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 7059 * @arg @ref LL_HRTIM_FLT_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 7060 */
AnnaBridge 163:e59c8e839560 7061 __STATIC_INLINE uint32_t LL_HRTIM_FLT_GetPrescaler(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7062 {
AnnaBridge 163:e59c8e839560 7063 return (READ_BIT(HRTIMx->sCommonRegs.FLTINR2, HRTIM_FLTINR2_FLTSD));
AnnaBridge 163:e59c8e839560 7064
AnnaBridge 163:e59c8e839560 7065 }
AnnaBridge 163:e59c8e839560 7066
AnnaBridge 163:e59c8e839560 7067 /**
AnnaBridge 163:e59c8e839560 7068 * @brief Lock the fault signal conditioning settings.
AnnaBridge 163:e59c8e839560 7069 * @rmtoll FLTINR1 FLT1LCK LL_HRTIM_FLT_Lock\n
AnnaBridge 163:e59c8e839560 7070 * FLTINR1 FLT2LCK LL_HRTIM_FLT_Lock\n
AnnaBridge 163:e59c8e839560 7071 * FLTINR1 FLT3LCK LL_HRTIM_FLT_Lock\n
AnnaBridge 163:e59c8e839560 7072 * FLTINR1 FLT4LCK LL_HRTIM_FLT_Lock\n
AnnaBridge 163:e59c8e839560 7073 * FLTINR2 FLT5LCK LL_HRTIM_FLT_Lock
AnnaBridge 163:e59c8e839560 7074 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7075 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7076 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 7077 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 7078 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 7079 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 7080 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 7081 * @retval None
AnnaBridge 163:e59c8e839560 7082 */
AnnaBridge 163:e59c8e839560 7083 __STATIC_INLINE void LL_HRTIM_FLT_Lock(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 7084 {
AnnaBridge 163:e59c8e839560 7085 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 7086 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 7087 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 7088 SET_BIT(*pReg, (HRTIM_FLTINR1_FLT1LCK << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 7089 }
AnnaBridge 163:e59c8e839560 7090
AnnaBridge 163:e59c8e839560 7091 /**
AnnaBridge 163:e59c8e839560 7092 * @brief Enable the fault circuitry for the designated fault input.
AnnaBridge 163:e59c8e839560 7093 * @rmtoll FLTINR1 FLT1E LL_HRTIM_FLT_Enable\n
AnnaBridge 163:e59c8e839560 7094 * FLTINR1 FLT2E LL_HRTIM_FLT_Enable\n
AnnaBridge 163:e59c8e839560 7095 * FLTINR1 FLT3E LL_HRTIM_FLT_Enable\n
AnnaBridge 163:e59c8e839560 7096 * FLTINR1 FLT4E LL_HRTIM_FLT_Enable\n
AnnaBridge 163:e59c8e839560 7097 * FLTINR2 FLT5E LL_HRTIM_FLT_Enable
AnnaBridge 163:e59c8e839560 7098 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7099 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7100 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 7101 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 7102 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 7103 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 7104 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 7105 * @retval None
AnnaBridge 163:e59c8e839560 7106 */
AnnaBridge 163:e59c8e839560 7107 __STATIC_INLINE void LL_HRTIM_FLT_Enable(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 7108 {
AnnaBridge 163:e59c8e839560 7109 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 7110 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 7111 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 7112 SET_BIT(*pReg, (HRTIM_FLTINR1_FLT1E << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 7113 }
AnnaBridge 163:e59c8e839560 7114
AnnaBridge 163:e59c8e839560 7115 /**
AnnaBridge 163:e59c8e839560 7116 * @brief Disable the fault circuitry for for the designated fault input.
AnnaBridge 163:e59c8e839560 7117 * @rmtoll FLTINR1 FLT1E LL_HRTIM_FLT_Disable\n
AnnaBridge 163:e59c8e839560 7118 * FLTINR1 FLT2E LL_HRTIM_FLT_Disable\n
AnnaBridge 163:e59c8e839560 7119 * FLTINR1 FLT3E LL_HRTIM_FLT_Disable\n
AnnaBridge 163:e59c8e839560 7120 * FLTINR1 FLT4E LL_HRTIM_FLT_Disable\n
AnnaBridge 163:e59c8e839560 7121 * FLTINR2 FLT5E LL_HRTIM_FLT_Disable
AnnaBridge 163:e59c8e839560 7122 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7123 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7124 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 7125 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 7126 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 7127 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 7128 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 7129 * @retval None
AnnaBridge 163:e59c8e839560 7130 */
AnnaBridge 163:e59c8e839560 7131 __STATIC_INLINE void LL_HRTIM_FLT_Disable(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 7132 {
AnnaBridge 163:e59c8e839560 7133 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 7134 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 7135 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 7136 CLEAR_BIT(*pReg, (HRTIM_FLTINR1_FLT1E << REG_SHIFT_TAB_FLTxE[iFault]));
AnnaBridge 163:e59c8e839560 7137 }
AnnaBridge 163:e59c8e839560 7138
AnnaBridge 163:e59c8e839560 7139 /**
AnnaBridge 163:e59c8e839560 7140 * @brief Indicate whether the fault circuitry is enabled for a given fault input.
AnnaBridge 163:e59c8e839560 7141 * @rmtoll FLTINR1 FLT1E LL_HRTIM_FLT_IsEnabled\n
AnnaBridge 163:e59c8e839560 7142 * FLTINR1 FLT2E LL_HRTIM_FLT_IsEnabled\n
AnnaBridge 163:e59c8e839560 7143 * FLTINR1 FLT3E LL_HRTIM_FLT_IsEnabled\n
AnnaBridge 163:e59c8e839560 7144 * FLTINR1 FLT4E LL_HRTIM_FLT_IsEnabled\n
AnnaBridge 163:e59c8e839560 7145 * FLTINR2 FLT5E LL_HRTIM_FLT_IsEnabled
AnnaBridge 163:e59c8e839560 7146 * @param HRTIMx High Resolution Timer instance * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7147 * @param Fault This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7148 * @arg @ref LL_HRTIM_FAULT_1
AnnaBridge 163:e59c8e839560 7149 * @arg @ref LL_HRTIM_FAULT_2
AnnaBridge 163:e59c8e839560 7150 * @arg @ref LL_HRTIM_FAULT_3
AnnaBridge 163:e59c8e839560 7151 * @arg @ref LL_HRTIM_FAULT_4
AnnaBridge 163:e59c8e839560 7152 * @arg @ref LL_HRTIM_FAULT_5
AnnaBridge 163:e59c8e839560 7153 * @retval State of FLTxEN bit in HRTIM_FLTINRx register (1 or 0).
AnnaBridge 163:e59c8e839560 7154 */
AnnaBridge 163:e59c8e839560 7155 __STATIC_INLINE uint32_t LL_HRTIM_FLT_IsEnabled(HRTIM_TypeDef *HRTIMx, uint32_t Fault)
AnnaBridge 163:e59c8e839560 7156 {
AnnaBridge 163:e59c8e839560 7157 register uint32_t iFault = (uint8_t)POSITION_VAL(Fault);
AnnaBridge 163:e59c8e839560 7158 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sCommonRegs.FLTINR1) +
AnnaBridge 163:e59c8e839560 7159 REG_OFFSET_TAB_FLTINR[iFault]));
AnnaBridge 163:e59c8e839560 7160 return ((READ_BIT(*pReg, (HRTIM_FLTINR1_FLT1E << REG_SHIFT_TAB_FLTxE[iFault])) >> REG_SHIFT_TAB_FLTxE[iFault]) ==
AnnaBridge 163:e59c8e839560 7161 (HRTIM_IER_FLT1));
AnnaBridge 163:e59c8e839560 7162 }
AnnaBridge 163:e59c8e839560 7163
AnnaBridge 163:e59c8e839560 7164 /**
AnnaBridge 163:e59c8e839560 7165 * @}
AnnaBridge 163:e59c8e839560 7166 */
AnnaBridge 163:e59c8e839560 7167
AnnaBridge 163:e59c8e839560 7168 /** @defgroup HRTIM_EF_Burst_Mode_management Burst_Mode_management
AnnaBridge 163:e59c8e839560 7169 * @{
AnnaBridge 163:e59c8e839560 7170 */
AnnaBridge 163:e59c8e839560 7171
AnnaBridge 163:e59c8e839560 7172 /**
AnnaBridge 163:e59c8e839560 7173 * @brief Configure the burst mode controller.
AnnaBridge 163:e59c8e839560 7174 * @rmtoll BMCR BMOM LL_HRTIM_BM_Config\n
AnnaBridge 163:e59c8e839560 7175 * BMCR BMCLK LL_HRTIM_BM_Config\n
AnnaBridge 163:e59c8e839560 7176 * BMCR BMPRSC LL_HRTIM_BM_Config
AnnaBridge 163:e59c8e839560 7177 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7178 * @param Configuration This parameter must be a combination of all the following values:
AnnaBridge 163:e59c8e839560 7179 * @arg @ref LL_HRTIM_BM_MODE_SINGLESHOT or @ref LL_HRTIM_BM_MODE_CONTINOUS
AnnaBridge 163:e59c8e839560 7180 * @arg @ref LL_HRTIM_BM_CLKSRC_MASTER or ... or @ref LL_HRTIM_BM_CLKSRC_FHRTIM
AnnaBridge 163:e59c8e839560 7181 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV1 or ... @ref LL_HRTIM_BM_PRESCALER_DIV32768
AnnaBridge 163:e59c8e839560 7182 * @retval None
AnnaBridge 163:e59c8e839560 7183 */
AnnaBridge 163:e59c8e839560 7184 __STATIC_INLINE void LL_HRTIM_BM_Config(HRTIM_TypeDef *HRTIMx, uint32_t Configuration)
AnnaBridge 163:e59c8e839560 7185 {
AnnaBridge 163:e59c8e839560 7186 MODIFY_REG(HRTIMx->sCommonRegs.BMCR, HRTIM_BM_CONFIG_MASK, Configuration);
AnnaBridge 163:e59c8e839560 7187 }
AnnaBridge 163:e59c8e839560 7188
AnnaBridge 163:e59c8e839560 7189 /**
AnnaBridge 163:e59c8e839560 7190 * @brief Set the burst mode controller operating mode.
AnnaBridge 163:e59c8e839560 7191 * @rmtoll BMCR BMOM LL_HRTIM_BM_SetMode
AnnaBridge 163:e59c8e839560 7192 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7193 * @param Mode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7194 * @arg @ref LL_HRTIM_BM_MODE_SINGLESHOT
AnnaBridge 163:e59c8e839560 7195 * @arg @ref LL_HRTIM_BM_MODE_CONTINOUS
AnnaBridge 163:e59c8e839560 7196 * @retval None
AnnaBridge 163:e59c8e839560 7197 */
AnnaBridge 163:e59c8e839560 7198 __STATIC_INLINE void LL_HRTIM_BM_SetMode(HRTIM_TypeDef *HRTIMx, uint32_t Mode)
AnnaBridge 163:e59c8e839560 7199 {
AnnaBridge 163:e59c8e839560 7200 MODIFY_REG(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMOM, Mode);
AnnaBridge 163:e59c8e839560 7201 }
AnnaBridge 163:e59c8e839560 7202
AnnaBridge 163:e59c8e839560 7203 /**
AnnaBridge 163:e59c8e839560 7204 * @brief Get actual burst mode controller operating mode.
AnnaBridge 163:e59c8e839560 7205 * @rmtoll BMCR BMOM LL_HRTIM_BM_GetMode
AnnaBridge 163:e59c8e839560 7206 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7207 * @retval Mode This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7208 * @arg @ref LL_HRTIM_BM_MODE_SINGLESHOT
AnnaBridge 163:e59c8e839560 7209 * @arg @ref LL_HRTIM_BM_MODE_CONTINOUS
AnnaBridge 163:e59c8e839560 7210 */
AnnaBridge 163:e59c8e839560 7211 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetMode(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7212 {
AnnaBridge 163:e59c8e839560 7213 return (uint32_t)READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMOM);
AnnaBridge 163:e59c8e839560 7214 }
AnnaBridge 163:e59c8e839560 7215
AnnaBridge 163:e59c8e839560 7216 /**
AnnaBridge 163:e59c8e839560 7217 * @brief Set the burst mode controller clock source.
AnnaBridge 163:e59c8e839560 7218 * @rmtoll BMCR BMCLK LL_HRTIM_BM_SetClockSrc
AnnaBridge 163:e59c8e839560 7219 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7220 * @param ClockSrc This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7221 * @arg @ref LL_HRTIM_BM_CLKSRC_MASTER
AnnaBridge 163:e59c8e839560 7222 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_A
AnnaBridge 163:e59c8e839560 7223 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_B
AnnaBridge 163:e59c8e839560 7224 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_C
AnnaBridge 163:e59c8e839560 7225 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_D
AnnaBridge 163:e59c8e839560 7226 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_E
AnnaBridge 163:e59c8e839560 7227 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM16_OC
AnnaBridge 163:e59c8e839560 7228 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM17_OC
AnnaBridge 163:e59c8e839560 7229 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM7_TRGO
AnnaBridge 163:e59c8e839560 7230 * @arg @ref LL_HRTIM_BM_CLKSRC_FHRTIM
AnnaBridge 163:e59c8e839560 7231 * @retval None
AnnaBridge 163:e59c8e839560 7232 */
AnnaBridge 163:e59c8e839560 7233 __STATIC_INLINE void LL_HRTIM_BM_SetClockSrc(HRTIM_TypeDef *HRTIMx, uint32_t ClockSrc)
AnnaBridge 163:e59c8e839560 7234 {
AnnaBridge 163:e59c8e839560 7235 MODIFY_REG(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMCLK, ClockSrc);
AnnaBridge 163:e59c8e839560 7236 }
AnnaBridge 163:e59c8e839560 7237
AnnaBridge 163:e59c8e839560 7238 /**
AnnaBridge 163:e59c8e839560 7239 * @brief Get actual burst mode controller clock source.
AnnaBridge 163:e59c8e839560 7240 * @rmtoll BMCR BMCLK LL_HRTIM_BM_GetClockSrc
AnnaBridge 163:e59c8e839560 7241 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7242 * @retval ClockSrc This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7243 * @arg @ref LL_HRTIM_BM_CLKSRC_MASTER
AnnaBridge 163:e59c8e839560 7244 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_A
AnnaBridge 163:e59c8e839560 7245 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_B
AnnaBridge 163:e59c8e839560 7246 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_C
AnnaBridge 163:e59c8e839560 7247 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_D
AnnaBridge 163:e59c8e839560 7248 * @arg @ref LL_HRTIM_BM_CLKSRC_TIMER_E
AnnaBridge 163:e59c8e839560 7249 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM16_OC
AnnaBridge 163:e59c8e839560 7250 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM17_OC
AnnaBridge 163:e59c8e839560 7251 * @arg @ref LL_HRTIM_BM_CLKSRC_TIM7_TRGO
AnnaBridge 163:e59c8e839560 7252 * @arg @ref LL_HRTIM_BM_CLKSRC_FHRTIM
AnnaBridge 163:e59c8e839560 7253 */
AnnaBridge 163:e59c8e839560 7254 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetClockSrc(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7255 {
AnnaBridge 163:e59c8e839560 7256 return (uint32_t)READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMCLK);
AnnaBridge 163:e59c8e839560 7257 }
AnnaBridge 163:e59c8e839560 7258
AnnaBridge 163:e59c8e839560 7259 /**
AnnaBridge 163:e59c8e839560 7260 * @brief Set the burst mode controller prescaler.
AnnaBridge 163:e59c8e839560 7261 * @rmtoll BMCR BMPRSC LL_HRTIM_BM_SetPrescaler
AnnaBridge 163:e59c8e839560 7262 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7263 * @param Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7264 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 7265 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 7266 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 7267 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 7268 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 7269 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV32
AnnaBridge 163:e59c8e839560 7270 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV64
AnnaBridge 163:e59c8e839560 7271 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV128
AnnaBridge 163:e59c8e839560 7272 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV256
AnnaBridge 163:e59c8e839560 7273 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV512
AnnaBridge 163:e59c8e839560 7274 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV1024
AnnaBridge 163:e59c8e839560 7275 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV2048
AnnaBridge 163:e59c8e839560 7276 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV4096
AnnaBridge 163:e59c8e839560 7277 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV8192
AnnaBridge 163:e59c8e839560 7278 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV16384
AnnaBridge 163:e59c8e839560 7279 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV32768
AnnaBridge 163:e59c8e839560 7280 * @retval None
AnnaBridge 163:e59c8e839560 7281 */
AnnaBridge 163:e59c8e839560 7282 __STATIC_INLINE void LL_HRTIM_BM_SetPrescaler(HRTIM_TypeDef *HRTIMx, uint32_t Prescaler)
AnnaBridge 163:e59c8e839560 7283 {
AnnaBridge 163:e59c8e839560 7284 MODIFY_REG(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMPRSC, Prescaler);
AnnaBridge 163:e59c8e839560 7285 }
AnnaBridge 163:e59c8e839560 7286
AnnaBridge 163:e59c8e839560 7287 /**
AnnaBridge 163:e59c8e839560 7288 * @brief Get actual burst mode controller prescaler setting.
AnnaBridge 163:e59c8e839560 7289 * @rmtoll BMCR BMPRSC LL_HRTIM_BM_GetPrescaler
AnnaBridge 163:e59c8e839560 7290 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7291 * @retval Prescaler This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7292 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV1
AnnaBridge 163:e59c8e839560 7293 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV2
AnnaBridge 163:e59c8e839560 7294 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV4
AnnaBridge 163:e59c8e839560 7295 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV8
AnnaBridge 163:e59c8e839560 7296 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV16
AnnaBridge 163:e59c8e839560 7297 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV32
AnnaBridge 163:e59c8e839560 7298 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV64
AnnaBridge 163:e59c8e839560 7299 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV128
AnnaBridge 163:e59c8e839560 7300 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV256
AnnaBridge 163:e59c8e839560 7301 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV512
AnnaBridge 163:e59c8e839560 7302 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV1024
AnnaBridge 163:e59c8e839560 7303 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV2048
AnnaBridge 163:e59c8e839560 7304 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV4096
AnnaBridge 163:e59c8e839560 7305 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV8192
AnnaBridge 163:e59c8e839560 7306 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV16384
AnnaBridge 163:e59c8e839560 7307 * @arg @ref LL_HRTIM_BM_PRESCALER_DIV32768
AnnaBridge 163:e59c8e839560 7308 */
AnnaBridge 163:e59c8e839560 7309 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetPrescaler(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7310 {
AnnaBridge 163:e59c8e839560 7311 return (uint32_t)READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMPRSC);
AnnaBridge 163:e59c8e839560 7312 }
AnnaBridge 163:e59c8e839560 7313
AnnaBridge 163:e59c8e839560 7314 /**
AnnaBridge 163:e59c8e839560 7315 * @brief Enable burst mode compare and period registers preload.
AnnaBridge 163:e59c8e839560 7316 * @rmtoll BMCR BMPREN LL_HRTIM_BM_EnablePreload
AnnaBridge 163:e59c8e839560 7317 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7318 * @retval None
AnnaBridge 163:e59c8e839560 7319 */
AnnaBridge 163:e59c8e839560 7320 __STATIC_INLINE void LL_HRTIM_BM_EnablePreload(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7321 {
AnnaBridge 163:e59c8e839560 7322 SET_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMPREN);
AnnaBridge 163:e59c8e839560 7323 }
AnnaBridge 163:e59c8e839560 7324
AnnaBridge 163:e59c8e839560 7325 /**
AnnaBridge 163:e59c8e839560 7326 * @brief Disable burst mode compare and period registers preload.
AnnaBridge 163:e59c8e839560 7327 * @rmtoll BMCR BMPREN LL_HRTIM_BM_DisablePreload
AnnaBridge 163:e59c8e839560 7328 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7329 * @retval None
AnnaBridge 163:e59c8e839560 7330 */
AnnaBridge 163:e59c8e839560 7331 __STATIC_INLINE void LL_HRTIM_BM_DisablePreload(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7332 {
AnnaBridge 163:e59c8e839560 7333 CLEAR_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMPREN);
AnnaBridge 163:e59c8e839560 7334 }
AnnaBridge 163:e59c8e839560 7335
AnnaBridge 163:e59c8e839560 7336 /**
AnnaBridge 163:e59c8e839560 7337 * @brief Indicate whether burst mode compare and period registers are preloaded.
AnnaBridge 163:e59c8e839560 7338 * @rmtoll BMCR BMPREN LL_HRTIM_BM_IsEnabledPreload
AnnaBridge 163:e59c8e839560 7339 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7340 * @retval State of BMPREN bit in HRTIM_BMCR register (1 or 0).
AnnaBridge 163:e59c8e839560 7341 */
AnnaBridge 163:e59c8e839560 7342 __STATIC_INLINE uint32_t LL_HRTIM_BM_IsEnabledPreload(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7343 {
AnnaBridge 163:e59c8e839560 7344 return (READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMPREN) == HRTIM_BMCR_BMPREN);
AnnaBridge 163:e59c8e839560 7345 }
AnnaBridge 163:e59c8e839560 7346
AnnaBridge 163:e59c8e839560 7347 /**
AnnaBridge 163:e59c8e839560 7348 * @brief Set the burst mode controller trigger
AnnaBridge 163:e59c8e839560 7349 * @rmtoll BMTRGR SW LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7350 * BMTRGR MSTRST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7351 * BMTRGR MSTREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7352 * BMTRGR MSTCMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7353 * BMTRGR MSTCMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7354 * BMTRGR MSTCMP3 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7355 * BMTRGR MSTCMP4 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7356 * BMTRGR TARST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7357 * BMTRGR TAREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7358 * BMTRGR TACMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7359 * BMTRGR TACMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7360 * BMTRGR TBRST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7361 * BMTRGR TBREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7362 * BMTRGR TBCMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7363 * BMTRGR TBCMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7364 * BMTRGR TCRST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7365 * BMTRGR TCREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7366 * BMTRGR TCCMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7367 * BMTRGR TCCMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7368 * BMTRGR TDRST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7369 * BMTRGR TDREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7370 * BMTRGR TDCMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7371 * BMTRGR TDCMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7372 * BMTRGR TERST LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7373 * BMTRGR TEREP LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7374 * BMTRGR TECMP1 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7375 * BMTRGR TECMP2 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7376 * BMTRGR TAEEV7 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7377 * BMTRGR TAEEV8 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7378 * BMTRGR EEV7 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7379 * BMTRGR EEV8 LL_HRTIM_BM_SetTrig\n
AnnaBridge 163:e59c8e839560 7380 * BMTRGR OCHIPEV LL_HRTIM_BM_SetTrig
AnnaBridge 163:e59c8e839560 7381 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7382 * @param Trig This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 7383 * @arg @ref LL_HRTIM_BM_TRIG_NONE
AnnaBridge 163:e59c8e839560 7384 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_RESET
AnnaBridge 163:e59c8e839560 7385 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_REPETITION
AnnaBridge 163:e59c8e839560 7386 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP1
AnnaBridge 163:e59c8e839560 7387 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP2
AnnaBridge 163:e59c8e839560 7388 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP3
AnnaBridge 163:e59c8e839560 7389 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP4
AnnaBridge 163:e59c8e839560 7390 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_RESET
AnnaBridge 163:e59c8e839560 7391 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_REPETITION
AnnaBridge 163:e59c8e839560 7392 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_CMP1
AnnaBridge 163:e59c8e839560 7393 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_CMP2
AnnaBridge 163:e59c8e839560 7394 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_RESET
AnnaBridge 163:e59c8e839560 7395 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_REPETITION
AnnaBridge 163:e59c8e839560 7396 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_CMP1
AnnaBridge 163:e59c8e839560 7397 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_CMP2
AnnaBridge 163:e59c8e839560 7398 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_RESET
AnnaBridge 163:e59c8e839560 7399 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_REPETITION
AnnaBridge 163:e59c8e839560 7400 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_CMP1
AnnaBridge 163:e59c8e839560 7401 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_CMP2
AnnaBridge 163:e59c8e839560 7402 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_RESET
AnnaBridge 163:e59c8e839560 7403 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_REPETITION
AnnaBridge 163:e59c8e839560 7404 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_CMP1
AnnaBridge 163:e59c8e839560 7405 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_CMP2
AnnaBridge 163:e59c8e839560 7406 * @arg @ref LL_HRTIM_BM_TRIG_TIME_RESET
AnnaBridge 163:e59c8e839560 7407 * @arg @ref LL_HRTIM_BM_TRIG_TIME_REPETITION
AnnaBridge 163:e59c8e839560 7408 * @arg @ref LL_HRTIM_BM_TRIG_TIME_CMP1
AnnaBridge 163:e59c8e839560 7409 * @arg @ref LL_HRTIM_BM_TRIG_TIME_CMP2
AnnaBridge 163:e59c8e839560 7410 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_EVENT7
AnnaBridge 163:e59c8e839560 7411 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_EVENT8
AnnaBridge 163:e59c8e839560 7412 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_7
AnnaBridge 163:e59c8e839560 7413 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_8
AnnaBridge 163:e59c8e839560 7414 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_ONCHIP
AnnaBridge 163:e59c8e839560 7415 * @retval None
AnnaBridge 163:e59c8e839560 7416 */
AnnaBridge 163:e59c8e839560 7417 __STATIC_INLINE void LL_HRTIM_BM_SetTrig(HRTIM_TypeDef *HRTIMx, uint32_t Trig)
AnnaBridge 163:e59c8e839560 7418 {
AnnaBridge 163:e59c8e839560 7419 WRITE_REG(HRTIMx->sCommonRegs.BMTRGR, Trig);
AnnaBridge 163:e59c8e839560 7420 }
AnnaBridge 163:e59c8e839560 7421
AnnaBridge 163:e59c8e839560 7422 /**
AnnaBridge 163:e59c8e839560 7423 * @brief Get actual burst mode controller trigger.
AnnaBridge 163:e59c8e839560 7424 * @rmtoll BMTRGR SW LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7425 * BMTRGR MSTRST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7426 * BMTRGR MSTREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7427 * BMTRGR MSTCMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7428 * BMTRGR MSTCMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7429 * BMTRGR MSTCMP3 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7430 * BMTRGR MSTCMP4 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7431 * BMTRGR TARST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7432 * BMTRGR TAREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7433 * BMTRGR TACMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7434 * BMTRGR TACMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7435 * BMTRGR TBRST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7436 * BMTRGR TBREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7437 * BMTRGR TBCMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7438 * BMTRGR TBCMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7439 * BMTRGR TCRST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7440 * BMTRGR TCREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7441 * BMTRGR TCCMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7442 * BMTRGR TCCMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7443 * BMTRGR TDRST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7444 * BMTRGR TDREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7445 * BMTRGR TDCMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7446 * BMTRGR TDCMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7447 * BMTRGR TERST LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7448 * BMTRGR TEREP LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7449 * BMTRGR TECMP1 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7450 * BMTRGR TECMP2 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7451 * BMTRGR TAEEV7 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7452 * BMTRGR TAEEV8 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7453 * BMTRGR EEV7 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7454 * BMTRGR EEV8 LL_HRTIM_BM_GetTrig\n
AnnaBridge 163:e59c8e839560 7455 * BMTRGR OCHIPEV LL_HRTIM_BM_GetTrig
AnnaBridge 163:e59c8e839560 7456 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7457 * @retval Trig This parameter can be a combination of the following values:
AnnaBridge 163:e59c8e839560 7458 * @arg @ref LL_HRTIM_BM_TRIG_NONE
AnnaBridge 163:e59c8e839560 7459 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_RESET
AnnaBridge 163:e59c8e839560 7460 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_REPETITION
AnnaBridge 163:e59c8e839560 7461 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP1
AnnaBridge 163:e59c8e839560 7462 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP2
AnnaBridge 163:e59c8e839560 7463 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP3
AnnaBridge 163:e59c8e839560 7464 * @arg @ref LL_HRTIM_BM_TRIG_MASTER_CMP4
AnnaBridge 163:e59c8e839560 7465 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_RESET
AnnaBridge 163:e59c8e839560 7466 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_REPETITION
AnnaBridge 163:e59c8e839560 7467 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_CMP1
AnnaBridge 163:e59c8e839560 7468 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_CMP2
AnnaBridge 163:e59c8e839560 7469 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_RESET
AnnaBridge 163:e59c8e839560 7470 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_REPETITION
AnnaBridge 163:e59c8e839560 7471 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_CMP1
AnnaBridge 163:e59c8e839560 7472 * @arg @ref LL_HRTIM_BM_TRIG_TIMB_CMP2
AnnaBridge 163:e59c8e839560 7473 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_RESET
AnnaBridge 163:e59c8e839560 7474 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_REPETITION
AnnaBridge 163:e59c8e839560 7475 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_CMP1
AnnaBridge 163:e59c8e839560 7476 * @arg @ref LL_HRTIM_BM_TRIG_TIMC_CMP2
AnnaBridge 163:e59c8e839560 7477 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_RESET
AnnaBridge 163:e59c8e839560 7478 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_REPETITION
AnnaBridge 163:e59c8e839560 7479 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_CMP1
AnnaBridge 163:e59c8e839560 7480 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_CMP2
AnnaBridge 163:e59c8e839560 7481 * @arg @ref LL_HRTIM_BM_TRIG_TIME_RESET
AnnaBridge 163:e59c8e839560 7482 * @arg @ref LL_HRTIM_BM_TRIG_TIME_REPETITION
AnnaBridge 163:e59c8e839560 7483 * @arg @ref LL_HRTIM_BM_TRIG_TIME_CMP1
AnnaBridge 163:e59c8e839560 7484 * @arg @ref LL_HRTIM_BM_TRIG_TIME_CMP2
AnnaBridge 163:e59c8e839560 7485 * @arg @ref LL_HRTIM_BM_TRIG_TIMA_EVENT7
AnnaBridge 163:e59c8e839560 7486 * @arg @ref LL_HRTIM_BM_TRIG_TIMD_EVENT8
AnnaBridge 163:e59c8e839560 7487 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_7
AnnaBridge 163:e59c8e839560 7488 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_8
AnnaBridge 163:e59c8e839560 7489 * @arg @ref LL_HRTIM_BM_TRIG_EVENT_ONCHIP
AnnaBridge 163:e59c8e839560 7490 */
AnnaBridge 163:e59c8e839560 7491 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetTrig(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7492 {
AnnaBridge 163:e59c8e839560 7493 return (uint32_t)READ_REG(HRTIMx->sCommonRegs.BMTRGR);
AnnaBridge 163:e59c8e839560 7494 }
AnnaBridge 163:e59c8e839560 7495
AnnaBridge 163:e59c8e839560 7496 /**
AnnaBridge 163:e59c8e839560 7497 * @brief Set the burst mode controller compare value.
AnnaBridge 163:e59c8e839560 7498 * @rmtoll BMCMPR BMCMP LL_HRTIM_BM_SetCompare
AnnaBridge 163:e59c8e839560 7499 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7500 * @param CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 7501 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 7502 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 7503 * @retval None
AnnaBridge 163:e59c8e839560 7504 */
AnnaBridge 163:e59c8e839560 7505 __STATIC_INLINE void LL_HRTIM_BM_SetCompare(HRTIM_TypeDef *HRTIMx, uint32_t CompareValue)
AnnaBridge 163:e59c8e839560 7506 {
AnnaBridge 163:e59c8e839560 7507 WRITE_REG(HRTIMx->sCommonRegs.BMCMPR, CompareValue);
AnnaBridge 163:e59c8e839560 7508 }
AnnaBridge 163:e59c8e839560 7509
AnnaBridge 163:e59c8e839560 7510 /**
AnnaBridge 163:e59c8e839560 7511 * @brief Get actual burst mode controller compare value.
AnnaBridge 163:e59c8e839560 7512 * @rmtoll BMCMPR BMCMP LL_HRTIM_BM_GetCompare
AnnaBridge 163:e59c8e839560 7513 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7514 * @retval CompareValue Compare value must be above or equal to 3
AnnaBridge 163:e59c8e839560 7515 * periods of the fHRTIM clock, that is 0x60 if CKPSC[2:0] = 0,
AnnaBridge 163:e59c8e839560 7516 * 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 7517 */
AnnaBridge 163:e59c8e839560 7518 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetCompare(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7519 {
AnnaBridge 163:e59c8e839560 7520 return (uint32_t)READ_REG(HRTIMx->sCommonRegs.BMCMPR);
AnnaBridge 163:e59c8e839560 7521 }
AnnaBridge 163:e59c8e839560 7522
AnnaBridge 163:e59c8e839560 7523 /**
AnnaBridge 163:e59c8e839560 7524 * @brief Set the burst mode controller period.
AnnaBridge 163:e59c8e839560 7525 * @rmtoll BMPER BMPER LL_HRTIM_BM_SetPeriod
AnnaBridge 163:e59c8e839560 7526 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7527 * @param Period The period value must be above or equal to 3 periods of the fHRTIM clock,
AnnaBridge 163:e59c8e839560 7528 * that is 0x60 if CKPSC[2:0] = 0, 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 7529 * The maximum value is 0x0000 FFDF.
AnnaBridge 163:e59c8e839560 7530 * @retval None
AnnaBridge 163:e59c8e839560 7531 */
AnnaBridge 163:e59c8e839560 7532 __STATIC_INLINE void LL_HRTIM_BM_SetPeriod(HRTIM_TypeDef *HRTIMx, uint32_t Period)
AnnaBridge 163:e59c8e839560 7533 {
AnnaBridge 163:e59c8e839560 7534 WRITE_REG(HRTIMx->sCommonRegs.BMPER, Period);
AnnaBridge 163:e59c8e839560 7535 }
AnnaBridge 163:e59c8e839560 7536
AnnaBridge 163:e59c8e839560 7537 /**
AnnaBridge 163:e59c8e839560 7538 * @brief Get actual burst mode controller period.
AnnaBridge 163:e59c8e839560 7539 * @rmtoll BMPER BMPER LL_HRTIM_BM_GetPeriod
AnnaBridge 163:e59c8e839560 7540 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7541 * @retval The period value must be above or equal to 3 periods of the fHRTIM clock,
AnnaBridge 163:e59c8e839560 7542 * that is 0x60 if CKPSC[2:0] = 0, 0x30 if CKPSC[2:0] = 1, 0x18 if CKPSC[2:0] = 2,...
AnnaBridge 163:e59c8e839560 7543 * The maximum value is 0x0000 FFDF.
AnnaBridge 163:e59c8e839560 7544 */
AnnaBridge 163:e59c8e839560 7545 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetPeriod(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7546 {
AnnaBridge 163:e59c8e839560 7547 return (uint32_t)READ_REG(HRTIMx->sCommonRegs.BMPER);
AnnaBridge 163:e59c8e839560 7548 }
AnnaBridge 163:e59c8e839560 7549
AnnaBridge 163:e59c8e839560 7550 /**
AnnaBridge 163:e59c8e839560 7551 * @brief Enable the burst mode controller
AnnaBridge 163:e59c8e839560 7552 * @rmtoll BMCR BME LL_HRTIM_BM_Enable
AnnaBridge 163:e59c8e839560 7553 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7554 * @retval None
AnnaBridge 163:e59c8e839560 7555 */
AnnaBridge 163:e59c8e839560 7556 __STATIC_INLINE void LL_HRTIM_BM_Enable(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7557 {
AnnaBridge 163:e59c8e839560 7558 SET_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BME);
AnnaBridge 163:e59c8e839560 7559 }
AnnaBridge 163:e59c8e839560 7560
AnnaBridge 163:e59c8e839560 7561 /**
AnnaBridge 163:e59c8e839560 7562 * @brief Disable the burst mode controller
AnnaBridge 163:e59c8e839560 7563 * @rmtoll BMCR BME LL_HRTIM_BM_Disable
AnnaBridge 163:e59c8e839560 7564 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7565 * @retval None
AnnaBridge 163:e59c8e839560 7566 */
AnnaBridge 163:e59c8e839560 7567 __STATIC_INLINE void LL_HRTIM_BM_Disable(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7568 {
AnnaBridge 163:e59c8e839560 7569 CLEAR_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BME);
AnnaBridge 163:e59c8e839560 7570 }
AnnaBridge 163:e59c8e839560 7571
AnnaBridge 163:e59c8e839560 7572 /**
AnnaBridge 163:e59c8e839560 7573 * @brief Indicate whether the burst mode controller is enabled.
AnnaBridge 163:e59c8e839560 7574 * @rmtoll BMCR BME LL_HRTIM_BM_IsEnabled
AnnaBridge 163:e59c8e839560 7575 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7576 * @retval State of BME bit in HRTIM_BMCR register (1 or 0).
AnnaBridge 163:e59c8e839560 7577 */
AnnaBridge 163:e59c8e839560 7578 __STATIC_INLINE uint32_t LL_HRTIM_BM_IsEnabled(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7579 {
AnnaBridge 163:e59c8e839560 7580 return (READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BME) == HRTIM_BMCR_BME);
AnnaBridge 163:e59c8e839560 7581 }
AnnaBridge 163:e59c8e839560 7582
AnnaBridge 163:e59c8e839560 7583 /**
AnnaBridge 163:e59c8e839560 7584 * @brief Trigger the burst operation (software trigger)
AnnaBridge 163:e59c8e839560 7585 * @rmtoll BMTRGR SW LL_HRTIM_BM_Start
AnnaBridge 163:e59c8e839560 7586 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7587 * @retval None
AnnaBridge 163:e59c8e839560 7588 */
AnnaBridge 163:e59c8e839560 7589 __STATIC_INLINE void LL_HRTIM_BM_Start(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7590 {
AnnaBridge 163:e59c8e839560 7591 SET_BIT(HRTIMx->sCommonRegs.BMTRGR, HRTIM_BMTRGR_SW);
AnnaBridge 163:e59c8e839560 7592 }
AnnaBridge 163:e59c8e839560 7593
AnnaBridge 163:e59c8e839560 7594 /**
AnnaBridge 163:e59c8e839560 7595 * @brief Stop the burst mode operation.
AnnaBridge 163:e59c8e839560 7596 * @rmtoll BMCR BMSTAT LL_HRTIM_BM_Stop
AnnaBridge 163:e59c8e839560 7597 * @note Causes a burst mode early termination.
AnnaBridge 163:e59c8e839560 7598 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7599 * @retval None
AnnaBridge 163:e59c8e839560 7600 */
AnnaBridge 163:e59c8e839560 7601 __STATIC_INLINE void LL_HRTIM_BM_Stop(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7602 {
AnnaBridge 163:e59c8e839560 7603 CLEAR_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMSTAT);
AnnaBridge 163:e59c8e839560 7604 }
AnnaBridge 163:e59c8e839560 7605
AnnaBridge 163:e59c8e839560 7606 /**
AnnaBridge 163:e59c8e839560 7607 * @brief Get actual burst mode status
AnnaBridge 163:e59c8e839560 7608 * @rmtoll BMCR BMSTAT LL_HRTIM_BM_GetStatus
AnnaBridge 163:e59c8e839560 7609 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7610 * @retval Status This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7611 * @arg @ref LL_HRTIM_BM_STATUS_NORMAL
AnnaBridge 163:e59c8e839560 7612 * @arg @ref LL_HRTIM_BM_STATUS_BURST_ONGOING
AnnaBridge 163:e59c8e839560 7613 */
AnnaBridge 163:e59c8e839560 7614 __STATIC_INLINE uint32_t LL_HRTIM_BM_GetStatus(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7615 {
AnnaBridge 163:e59c8e839560 7616 return (READ_BIT(HRTIMx->sCommonRegs.BMCR, HRTIM_BMCR_BMSTAT));
AnnaBridge 163:e59c8e839560 7617 }
AnnaBridge 163:e59c8e839560 7618
AnnaBridge 163:e59c8e839560 7619 /**
AnnaBridge 163:e59c8e839560 7620 * @}
AnnaBridge 163:e59c8e839560 7621 */
AnnaBridge 163:e59c8e839560 7622
AnnaBridge 163:e59c8e839560 7623 /** @defgroup HRTIM_EF_FLAG_Management FLAG_Management
AnnaBridge 163:e59c8e839560 7624 * @{
AnnaBridge 163:e59c8e839560 7625 */
AnnaBridge 163:e59c8e839560 7626
AnnaBridge 163:e59c8e839560 7627 /**
AnnaBridge 163:e59c8e839560 7628 * @brief Clear the Fault 1 interrupt flag.
AnnaBridge 163:e59c8e839560 7629 * @rmtoll ICR FLT1C LL_HRTIM_ClearFlag_FLT1
AnnaBridge 163:e59c8e839560 7630 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7631 * @retval None
AnnaBridge 163:e59c8e839560 7632 */
AnnaBridge 163:e59c8e839560 7633 __STATIC_INLINE void LL_HRTIM_ClearFlag_FLT1(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7634 {
AnnaBridge 163:e59c8e839560 7635 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_FLT1C);
AnnaBridge 163:e59c8e839560 7636 }
AnnaBridge 163:e59c8e839560 7637
AnnaBridge 163:e59c8e839560 7638 /**
AnnaBridge 163:e59c8e839560 7639 * @brief Indicate whether Fault 1 interrupt occurred.
AnnaBridge 163:e59c8e839560 7640 * @rmtoll ICR FLT1 LL_HRTIM_IsActiveFlag_FLT1
AnnaBridge 163:e59c8e839560 7641 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7642 * @retval State of FLT1 bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7643 */
AnnaBridge 163:e59c8e839560 7644 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_FLT1(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7645 {
AnnaBridge 163:e59c8e839560 7646 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_FLT1) == (HRTIM_ISR_FLT1));
AnnaBridge 163:e59c8e839560 7647 }
AnnaBridge 163:e59c8e839560 7648
AnnaBridge 163:e59c8e839560 7649 /**
AnnaBridge 163:e59c8e839560 7650 * @brief Clear the Fault 2 interrupt flag.
AnnaBridge 163:e59c8e839560 7651 * @rmtoll ICR FLT2C LL_HRTIM_ClearFlag_FLT2
AnnaBridge 163:e59c8e839560 7652 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7653 * @retval None
AnnaBridge 163:e59c8e839560 7654 */
AnnaBridge 163:e59c8e839560 7655 __STATIC_INLINE void LL_HRTIM_ClearFlag_FLT2(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7656 {
AnnaBridge 163:e59c8e839560 7657 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_FLT2C);
AnnaBridge 163:e59c8e839560 7658 }
AnnaBridge 163:e59c8e839560 7659
AnnaBridge 163:e59c8e839560 7660 /**
AnnaBridge 163:e59c8e839560 7661 * @brief Indicate whether Fault 2 interrupt occurred.
AnnaBridge 163:e59c8e839560 7662 * @rmtoll ICR FLT2 LL_HRTIM_IsActiveFlag_FLT2
AnnaBridge 163:e59c8e839560 7663 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7664 * @retval State of FLT2 bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7665 */
AnnaBridge 163:e59c8e839560 7666 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_FLT2(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7667 {
AnnaBridge 163:e59c8e839560 7668 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_FLT2) == (HRTIM_ISR_FLT2));
AnnaBridge 163:e59c8e839560 7669 }
AnnaBridge 163:e59c8e839560 7670
AnnaBridge 163:e59c8e839560 7671 /**
AnnaBridge 163:e59c8e839560 7672 * @brief Clear the Fault 3 interrupt flag.
AnnaBridge 163:e59c8e839560 7673 * @rmtoll ICR FLT3C LL_HRTIM_ClearFlag_FLT3
AnnaBridge 163:e59c8e839560 7674 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7675 * @retval None
AnnaBridge 163:e59c8e839560 7676 */
AnnaBridge 163:e59c8e839560 7677 __STATIC_INLINE void LL_HRTIM_ClearFlag_FLT3(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7678 {
AnnaBridge 163:e59c8e839560 7679 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_FLT3C);
AnnaBridge 163:e59c8e839560 7680 }
AnnaBridge 163:e59c8e839560 7681
AnnaBridge 163:e59c8e839560 7682 /**
AnnaBridge 163:e59c8e839560 7683 * @brief Indicate whether Fault 3 interrupt occurred.
AnnaBridge 163:e59c8e839560 7684 * @rmtoll ICR FLT3 LL_HRTIM_IsActiveFlag_FLT3
AnnaBridge 163:e59c8e839560 7685 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7686 * @retval State of FLT3 bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7687 */
AnnaBridge 163:e59c8e839560 7688 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_FLT3(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7689 {
AnnaBridge 163:e59c8e839560 7690 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_FLT3) == (HRTIM_ISR_FLT3));
AnnaBridge 163:e59c8e839560 7691 }
AnnaBridge 163:e59c8e839560 7692
AnnaBridge 163:e59c8e839560 7693 /**
AnnaBridge 163:e59c8e839560 7694 * @brief Clear the Fault 4 interrupt flag.
AnnaBridge 163:e59c8e839560 7695 * @rmtoll ICR FLT4C LL_HRTIM_ClearFlag_FLT4
AnnaBridge 163:e59c8e839560 7696 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7697 * @retval None
AnnaBridge 163:e59c8e839560 7698 */
AnnaBridge 163:e59c8e839560 7699 __STATIC_INLINE void LL_HRTIM_ClearFlag_FLT4(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7700 {
AnnaBridge 163:e59c8e839560 7701 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_FLT4C);
AnnaBridge 163:e59c8e839560 7702 }
AnnaBridge 163:e59c8e839560 7703
AnnaBridge 163:e59c8e839560 7704 /**
AnnaBridge 163:e59c8e839560 7705 * @brief Indicate whether Fault 4 interrupt occurred.
AnnaBridge 163:e59c8e839560 7706 * @rmtoll ICR FLT4 LL_HRTIM_IsActiveFlag_FLT4
AnnaBridge 163:e59c8e839560 7707 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7708 * @retval State of FLT4 bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7709 */
AnnaBridge 163:e59c8e839560 7710 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_FLT4(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7711 {
AnnaBridge 163:e59c8e839560 7712 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_FLT4) == (HRTIM_ISR_FLT4));
AnnaBridge 163:e59c8e839560 7713 }
AnnaBridge 163:e59c8e839560 7714
AnnaBridge 163:e59c8e839560 7715 /**
AnnaBridge 163:e59c8e839560 7716 * @brief Clear the Fault 5 interrupt flag.
AnnaBridge 163:e59c8e839560 7717 * @rmtoll ICR FLT5C LL_HRTIM_ClearFlag_FLT5
AnnaBridge 163:e59c8e839560 7718 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7719 * @retval None
AnnaBridge 163:e59c8e839560 7720 */
AnnaBridge 163:e59c8e839560 7721 __STATIC_INLINE void LL_HRTIM_ClearFlag_FLT5(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7722 {
AnnaBridge 163:e59c8e839560 7723 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_FLT5C);
AnnaBridge 163:e59c8e839560 7724 }
AnnaBridge 163:e59c8e839560 7725
AnnaBridge 163:e59c8e839560 7726 /**
AnnaBridge 163:e59c8e839560 7727 * @brief Indicate whether Fault 5 interrupt occurred.
AnnaBridge 163:e59c8e839560 7728 * @rmtoll ICR FLT5 LL_HRTIM_IsActiveFlag_FLT5
AnnaBridge 163:e59c8e839560 7729 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7730 * @retval State of FLT5 bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7731 */
AnnaBridge 163:e59c8e839560 7732 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_FLT5(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7733 {
AnnaBridge 163:e59c8e839560 7734 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_FLT5) == (HRTIM_ISR_FLT5));
AnnaBridge 163:e59c8e839560 7735 }
AnnaBridge 163:e59c8e839560 7736
AnnaBridge 163:e59c8e839560 7737 /**
AnnaBridge 163:e59c8e839560 7738 * @brief Clear the System Fault interrupt flag.
AnnaBridge 163:e59c8e839560 7739 * @rmtoll ICR SYSFLTC LL_HRTIM_ClearFlag_SYSFLT
AnnaBridge 163:e59c8e839560 7740 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7741 * @retval None
AnnaBridge 163:e59c8e839560 7742 */
AnnaBridge 163:e59c8e839560 7743 __STATIC_INLINE void LL_HRTIM_ClearFlag_SYSFLT(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7744 {
AnnaBridge 163:e59c8e839560 7745 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_SYSFLTC);
AnnaBridge 163:e59c8e839560 7746 }
AnnaBridge 163:e59c8e839560 7747
AnnaBridge 163:e59c8e839560 7748 /**
AnnaBridge 163:e59c8e839560 7749 * @brief Indicate whether System Fault interrupt occurred.
AnnaBridge 163:e59c8e839560 7750 * @rmtoll ISR SYSFLT LL_HRTIM_IsActiveFlag_SYSFLT
AnnaBridge 163:e59c8e839560 7751 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7752 * @retval State of SYSFLT bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7753 */
AnnaBridge 163:e59c8e839560 7754 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_SYSFLT(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7755 {
AnnaBridge 163:e59c8e839560 7756 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_SYSFLT) == (HRTIM_ISR_SYSFLT));
AnnaBridge 163:e59c8e839560 7757 }
AnnaBridge 163:e59c8e839560 7758
AnnaBridge 163:e59c8e839560 7759 /**
AnnaBridge 163:e59c8e839560 7760 * @brief Clear the DLL ready interrupt flag.
AnnaBridge 163:e59c8e839560 7761 * @rmtoll ICR DLLRDYC LL_HRTIM_ClearFlag_DLLRDY
AnnaBridge 163:e59c8e839560 7762 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7763 * @retval None
AnnaBridge 163:e59c8e839560 7764 */
AnnaBridge 163:e59c8e839560 7765 __STATIC_INLINE void LL_HRTIM_ClearFlag_DLLRDY(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7766 {
AnnaBridge 163:e59c8e839560 7767 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_DLLRDYC);
AnnaBridge 163:e59c8e839560 7768 }
AnnaBridge 163:e59c8e839560 7769
AnnaBridge 163:e59c8e839560 7770 /**
AnnaBridge 163:e59c8e839560 7771 * @brief Indicate whether DLL ready interrupt occurred.
AnnaBridge 163:e59c8e839560 7772 * @rmtoll ISR DLLRDY LL_HRTIM_IsActiveFlag_DLLRDY
AnnaBridge 163:e59c8e839560 7773 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7774 * @retval State of DLLRDY bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7775 */
AnnaBridge 163:e59c8e839560 7776 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_DLLRDY(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7777 {
AnnaBridge 163:e59c8e839560 7778 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_DLLRDY) == (HRTIM_ISR_DLLRDY));
AnnaBridge 163:e59c8e839560 7779 }
AnnaBridge 163:e59c8e839560 7780
AnnaBridge 163:e59c8e839560 7781 /**
AnnaBridge 163:e59c8e839560 7782 * @brief Clear the Burst Mode period interrupt flag.
AnnaBridge 163:e59c8e839560 7783 * @rmtoll ICR BMPERC LL_HRTIM_ClearFlag_BMPER
AnnaBridge 163:e59c8e839560 7784 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7785 * @retval None
AnnaBridge 163:e59c8e839560 7786 */
AnnaBridge 163:e59c8e839560 7787 __STATIC_INLINE void LL_HRTIM_ClearFlag_BMPER(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7788 {
AnnaBridge 163:e59c8e839560 7789 SET_BIT(HRTIMx->sCommonRegs.ICR, HRTIM_ICR_BMPERC);
AnnaBridge 163:e59c8e839560 7790 }
AnnaBridge 163:e59c8e839560 7791
AnnaBridge 163:e59c8e839560 7792 /**
AnnaBridge 163:e59c8e839560 7793 * @brief Indicate whether Burst Mode period interrupt occurred.
AnnaBridge 163:e59c8e839560 7794 * @rmtoll ISR BMPER LL_HRTIM_IsActiveFlag_BMPER
AnnaBridge 163:e59c8e839560 7795 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7796 * @retval State of BMPER bit in HRTIM_ISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7797 */
AnnaBridge 163:e59c8e839560 7798 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_BMPER(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7799 {
AnnaBridge 163:e59c8e839560 7800 return (READ_BIT(HRTIMx->sCommonRegs.ISR, HRTIM_ISR_BMPER) == (HRTIM_ISR_BMPER));
AnnaBridge 163:e59c8e839560 7801 }
AnnaBridge 163:e59c8e839560 7802
AnnaBridge 163:e59c8e839560 7803 /**
AnnaBridge 163:e59c8e839560 7804 * @brief Clear the Synchronization Input interrupt flag.
AnnaBridge 163:e59c8e839560 7805 * @rmtoll MICR SYNCC LL_HRTIM_ClearFlag_SYNC
AnnaBridge 163:e59c8e839560 7806 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7807 * @retval None
AnnaBridge 163:e59c8e839560 7808 */
AnnaBridge 163:e59c8e839560 7809 __STATIC_INLINE void LL_HRTIM_ClearFlag_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7810 {
AnnaBridge 163:e59c8e839560 7811 SET_BIT(HRTIMx->sMasterRegs.MICR, HRTIM_MICR_SYNC);
AnnaBridge 163:e59c8e839560 7812 }
AnnaBridge 163:e59c8e839560 7813
AnnaBridge 163:e59c8e839560 7814 /**
AnnaBridge 163:e59c8e839560 7815 * @brief Indicate whether the Synchronization Input interrupt occurred.
AnnaBridge 163:e59c8e839560 7816 * @rmtoll MISR SYNC LL_HRTIM_IsActiveFlag_SYNC
AnnaBridge 163:e59c8e839560 7817 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7818 * @retval State of SYNC bit in HRTIM_MISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7819 */
AnnaBridge 163:e59c8e839560 7820 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 7821 {
AnnaBridge 163:e59c8e839560 7822 return (READ_BIT(HRTIMx->sMasterRegs.MISR, HRTIM_MISR_SYNC) == (HRTIM_MISR_SYNC));
AnnaBridge 163:e59c8e839560 7823 }
AnnaBridge 163:e59c8e839560 7824
AnnaBridge 163:e59c8e839560 7825 /**
AnnaBridge 163:e59c8e839560 7826 * @brief Clear the update interrupt flag for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7827 * @rmtoll MICR MUPDC LL_HRTIM_ClearFlag_UPDATE\n
AnnaBridge 163:e59c8e839560 7828 * TIMxICR UPDC LL_HRTIM_ClearFlag_UPDATE
AnnaBridge 163:e59c8e839560 7829 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7830 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7831 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7832 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7833 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7834 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7835 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7836 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7837 * @retval None
AnnaBridge 163:e59c8e839560 7838 */
AnnaBridge 163:e59c8e839560 7839 __STATIC_INLINE void LL_HRTIM_ClearFlag_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7840 {
AnnaBridge 163:e59c8e839560 7841 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7842 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 7843 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7844 SET_BIT(*pReg, HRTIM_MICR_MUPD);
AnnaBridge 163:e59c8e839560 7845 }
AnnaBridge 163:e59c8e839560 7846
AnnaBridge 163:e59c8e839560 7847 /**
AnnaBridge 163:e59c8e839560 7848 * @brief Indicate whether the update interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7849 * @rmtoll MISR MUPD LL_HRTIM_IsActiveFlag_UPDATE\n
AnnaBridge 163:e59c8e839560 7850 * TIMxISR UPD LL_HRTIM_IsActiveFlag_UPDATE
AnnaBridge 163:e59c8e839560 7851 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7852 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7853 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7854 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7855 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7856 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7857 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7858 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7859 * @retval State of MUPD/UPD bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7860 */
AnnaBridge 163:e59c8e839560 7861 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7862 {
AnnaBridge 163:e59c8e839560 7863 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7864 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 7865 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7866 return (READ_BIT(*pReg, HRTIM_MISR_MUPD) == (HRTIM_MISR_MUPD));
AnnaBridge 163:e59c8e839560 7867 }
AnnaBridge 163:e59c8e839560 7868
AnnaBridge 163:e59c8e839560 7869 /**
AnnaBridge 163:e59c8e839560 7870 * @brief Clear the repetition interrupt flag for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7871 * @rmtoll MICR MREPC LL_HRTIM_ClearFlag_REP\n
AnnaBridge 163:e59c8e839560 7872 * TIMxICR REPC LL_HRTIM_ClearFlag_REP
AnnaBridge 163:e59c8e839560 7873 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7874 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7875 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7876 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7877 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7878 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7879 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7880 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7881 * @retval None
AnnaBridge 163:e59c8e839560 7882 */
AnnaBridge 163:e59c8e839560 7883 __STATIC_INLINE void LL_HRTIM_ClearFlag_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7884 {
AnnaBridge 163:e59c8e839560 7885 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7886 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 7887 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7888 SET_BIT(*pReg, HRTIM_MICR_MREP);
AnnaBridge 163:e59c8e839560 7889
AnnaBridge 163:e59c8e839560 7890 }
AnnaBridge 163:e59c8e839560 7891
AnnaBridge 163:e59c8e839560 7892 /**
AnnaBridge 163:e59c8e839560 7893 * @brief Indicate whether the repetition interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7894 * @rmtoll MISR MREP LL_HRTIM_IsActiveFlag_REP\n
AnnaBridge 163:e59c8e839560 7895 * TIMxISR REP LL_HRTIM_IsActiveFlag_REP
AnnaBridge 163:e59c8e839560 7896 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7897 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7898 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7899 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7900 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7901 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7902 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7903 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7904 * @retval State of MREP/REP bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7905 */
AnnaBridge 163:e59c8e839560 7906 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7907 {
AnnaBridge 163:e59c8e839560 7908 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7909 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 7910 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7911 return (READ_BIT(*pReg, HRTIM_MISR_MREP) == (HRTIM_MISR_MREP));
AnnaBridge 163:e59c8e839560 7912 }
AnnaBridge 163:e59c8e839560 7913
AnnaBridge 163:e59c8e839560 7914 /**
AnnaBridge 163:e59c8e839560 7915 * @brief Clear the compare 1 match interrupt for a given timer (including the master timer).
AnnaBridge 163:e59c8e839560 7916 * @rmtoll MICR MCMP1C LL_HRTIM_ClearFlag_CMP1\n
AnnaBridge 163:e59c8e839560 7917 * TIMxICR CMP1C LL_HRTIM_ClearFlag_CMP1
AnnaBridge 163:e59c8e839560 7918 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7919 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7920 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7921 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7922 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7923 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7924 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7925 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7926 * @retval None
AnnaBridge 163:e59c8e839560 7927 */
AnnaBridge 163:e59c8e839560 7928 __STATIC_INLINE void LL_HRTIM_ClearFlag_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7929 {
AnnaBridge 163:e59c8e839560 7930 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7931 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 7932 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7933 SET_BIT(*pReg, HRTIM_MICR_MCMP1);
AnnaBridge 163:e59c8e839560 7934 }
AnnaBridge 163:e59c8e839560 7935
AnnaBridge 163:e59c8e839560 7936 /**
AnnaBridge 163:e59c8e839560 7937 * @brief Indicate whether the compare match 1 interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7938 * @rmtoll MISR MCMP1 LL_HRTIM_IsActiveFlag_CMP1\n
AnnaBridge 163:e59c8e839560 7939 * TIMxISR CMP1 LL_HRTIM_IsActiveFlag_CMP1
AnnaBridge 163:e59c8e839560 7940 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7941 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7942 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7943 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7944 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7945 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7946 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7947 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7948 * @retval State of MCMP1/CMP1 bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7949 */
AnnaBridge 163:e59c8e839560 7950 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7951 {
AnnaBridge 163:e59c8e839560 7952 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7953 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 7954 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7955 return (READ_BIT(*pReg, HRTIM_MISR_MCMP1) == (HRTIM_MISR_MCMP1));
AnnaBridge 163:e59c8e839560 7956 }
AnnaBridge 163:e59c8e839560 7957
AnnaBridge 163:e59c8e839560 7958 /**
AnnaBridge 163:e59c8e839560 7959 * @brief Clear the compare 2 match interrupt for a given timer (including the master timer).
AnnaBridge 163:e59c8e839560 7960 * @rmtoll MICR MCMP2C LL_HRTIM_ClearFlag_CMP2\n
AnnaBridge 163:e59c8e839560 7961 * TIMxICR CMP2C LL_HRTIM_ClearFlag_CMP2
AnnaBridge 163:e59c8e839560 7962 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7963 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7964 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7965 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7966 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7967 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7968 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7969 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7970 * @retval None
AnnaBridge 163:e59c8e839560 7971 */
AnnaBridge 163:e59c8e839560 7972 __STATIC_INLINE void LL_HRTIM_ClearFlag_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7973 {
AnnaBridge 163:e59c8e839560 7974 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7975 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 7976 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7977 SET_BIT(*pReg, HRTIM_MICR_MCMP2);
AnnaBridge 163:e59c8e839560 7978 }
AnnaBridge 163:e59c8e839560 7979
AnnaBridge 163:e59c8e839560 7980 /**
AnnaBridge 163:e59c8e839560 7981 * @brief Indicate whether the compare match 2 interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 7982 * @rmtoll MISR MCMP2 LL_HRTIM_IsActiveFlag_CMP2\n
AnnaBridge 163:e59c8e839560 7983 * TIMxISR CMP2 LL_HRTIM_IsActiveFlag_CMP2
AnnaBridge 163:e59c8e839560 7984 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 7985 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 7986 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 7987 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 7988 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 7989 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 7990 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 7991 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 7992 * @retval State of MCMP2/CMP2 bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 7993 */
AnnaBridge 163:e59c8e839560 7994 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 7995 {
AnnaBridge 163:e59c8e839560 7996 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 7997 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 7998 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 7999 return (READ_BIT(*pReg, HRTIM_MISR_MCMP2) == (HRTIM_MISR_MCMP2));
AnnaBridge 163:e59c8e839560 8000 }
AnnaBridge 163:e59c8e839560 8001
AnnaBridge 163:e59c8e839560 8002 /**
AnnaBridge 163:e59c8e839560 8003 * @brief Clear the compare 3 match interrupt for a given timer (including the master timer).
AnnaBridge 163:e59c8e839560 8004 * @rmtoll MICR MCMP3C LL_HRTIM_ClearFlag_CMP3\n
AnnaBridge 163:e59c8e839560 8005 * TIMxICR CMP3C LL_HRTIM_ClearFlag_CMP3
AnnaBridge 163:e59c8e839560 8006 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8007 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8008 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8009 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8010 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8011 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8012 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8013 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8014 * @retval None
AnnaBridge 163:e59c8e839560 8015 */
AnnaBridge 163:e59c8e839560 8016 __STATIC_INLINE void LL_HRTIM_ClearFlag_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8017 {
AnnaBridge 163:e59c8e839560 8018 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8019 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8020 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8021 SET_BIT(*pReg, HRTIM_MICR_MCMP3);
AnnaBridge 163:e59c8e839560 8022 }
AnnaBridge 163:e59c8e839560 8023
AnnaBridge 163:e59c8e839560 8024 /**
AnnaBridge 163:e59c8e839560 8025 * @brief Indicate whether the compare match 3 interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 8026 * @rmtoll MISR MCMP3 LL_HRTIM_IsActiveFlag_CMP3\n
AnnaBridge 163:e59c8e839560 8027 * TIMxISR CMP3 LL_HRTIM_IsActiveFlag_CMP3
AnnaBridge 163:e59c8e839560 8028 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8029 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8030 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8031 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8032 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8033 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8034 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8035 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8036 * @retval State of MCMP3/CMP3 bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8037 */
AnnaBridge 163:e59c8e839560 8038 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8039 {
AnnaBridge 163:e59c8e839560 8040 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8041 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8042 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8043 return (READ_BIT(*pReg, HRTIM_MISR_MCMP3) == (HRTIM_MISR_MCMP3));
AnnaBridge 163:e59c8e839560 8044 }
AnnaBridge 163:e59c8e839560 8045
AnnaBridge 163:e59c8e839560 8046 /**
AnnaBridge 163:e59c8e839560 8047 * @brief Clear the compare 4 match interrupt for a given timer (including the master timer).
AnnaBridge 163:e59c8e839560 8048 * @rmtoll MICR MCMP4C LL_HRTIM_ClearFlag_CMP4\n
AnnaBridge 163:e59c8e839560 8049 * TIMxICR CMP4C LL_HRTIM_ClearFlag_CMP4
AnnaBridge 163:e59c8e839560 8050 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8051 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8052 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8053 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8054 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8055 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8056 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8057 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8058 * @retval None
AnnaBridge 163:e59c8e839560 8059 */
AnnaBridge 163:e59c8e839560 8060 __STATIC_INLINE void LL_HRTIM_ClearFlag_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8061 {
AnnaBridge 163:e59c8e839560 8062 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8063 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8064 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8065 SET_BIT(*pReg, HRTIM_MICR_MCMP4);
AnnaBridge 163:e59c8e839560 8066 }
AnnaBridge 163:e59c8e839560 8067
AnnaBridge 163:e59c8e839560 8068 /**
AnnaBridge 163:e59c8e839560 8069 * @brief Indicate whether the compare match 4 interrupt has occurred for a given timer (including the master timer) .
AnnaBridge 163:e59c8e839560 8070 * @rmtoll MISR MCMP4 LL_HRTIM_IsActiveFlag_CMP4\n
AnnaBridge 163:e59c8e839560 8071 * TIMxISR CMP4 LL_HRTIM_IsActiveFlag_CMP4
AnnaBridge 163:e59c8e839560 8072 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8073 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8074 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8075 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8076 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8077 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8078 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8079 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8080 * @retval State of MCMP4/CMP4 bit in HRTIM_MISR/HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8081 */
AnnaBridge 163:e59c8e839560 8082 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8083 {
AnnaBridge 163:e59c8e839560 8084 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8085 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8086 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8087 return (READ_BIT(*pReg, HRTIM_MISR_MCMP4) == (HRTIM_MISR_MCMP4));
AnnaBridge 163:e59c8e839560 8088 }
AnnaBridge 163:e59c8e839560 8089
AnnaBridge 163:e59c8e839560 8090 /**
AnnaBridge 163:e59c8e839560 8091 * @brief Clear the capture 1 interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8092 * @rmtoll TIMxICR CPT1C LL_HRTIM_ClearFlag_CPT1
AnnaBridge 163:e59c8e839560 8093 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8094 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8095 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8096 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8097 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8098 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8099 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8100 * @retval None
AnnaBridge 163:e59c8e839560 8101 */
AnnaBridge 163:e59c8e839560 8102 __STATIC_INLINE void LL_HRTIM_ClearFlag_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8103 {
AnnaBridge 163:e59c8e839560 8104 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8105 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8106 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8107 SET_BIT(*pReg, HRTIM_TIMICR_CPT1C);
AnnaBridge 163:e59c8e839560 8108 }
AnnaBridge 163:e59c8e839560 8109
AnnaBridge 163:e59c8e839560 8110 /**
AnnaBridge 163:e59c8e839560 8111 * @brief Indicate whether the capture 1 interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8112 * @rmtoll TIMxISR CPT1 LL_HRTIM_IsActiveFlag_CPT1
AnnaBridge 163:e59c8e839560 8113 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8114 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8115 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8116 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8117 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8118 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8119 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8120 * @retval State of CPT1 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8121 */
AnnaBridge 163:e59c8e839560 8122 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8123 {
AnnaBridge 163:e59c8e839560 8124 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8125 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8126 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8127 return (READ_BIT(*pReg, HRTIM_TIMISR_CPT1) == (HRTIM_TIMISR_CPT1));
AnnaBridge 163:e59c8e839560 8128 }
AnnaBridge 163:e59c8e839560 8129
AnnaBridge 163:e59c8e839560 8130 /**
AnnaBridge 163:e59c8e839560 8131 * @brief Clear the capture 2 interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8132 * @rmtoll TIMxICR CPT2C LL_HRTIM_ClearFlag_CPT2
AnnaBridge 163:e59c8e839560 8133 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8134 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8135 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8136 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8137 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8138 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8139 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8140 * @retval None
AnnaBridge 163:e59c8e839560 8141 */
AnnaBridge 163:e59c8e839560 8142 __STATIC_INLINE void LL_HRTIM_ClearFlag_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8143 {
AnnaBridge 163:e59c8e839560 8144 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8145 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8146 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8147 SET_BIT(*pReg, HRTIM_TIMICR_CPT2C);
AnnaBridge 163:e59c8e839560 8148 }
AnnaBridge 163:e59c8e839560 8149
AnnaBridge 163:e59c8e839560 8150 /**
AnnaBridge 163:e59c8e839560 8151 * @brief Indicate whether the capture 2 interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8152 * @rmtoll TIMxISR CPT2 LL_HRTIM_IsActiveFlag_CPT2
AnnaBridge 163:e59c8e839560 8153 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8154 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8155 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8156 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8157 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8158 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8159 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8160 * @retval State of CPT2 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8161 */
AnnaBridge 163:e59c8e839560 8162 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8163 {
AnnaBridge 163:e59c8e839560 8164 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8165 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8166 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8167 return (READ_BIT(*pReg, HRTIM_TIMISR_CPT2) == (HRTIM_TIMISR_CPT2));
AnnaBridge 163:e59c8e839560 8168 }
AnnaBridge 163:e59c8e839560 8169
AnnaBridge 163:e59c8e839560 8170 /**
AnnaBridge 163:e59c8e839560 8171 * @brief Clear the output 1 set interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8172 * @rmtoll TIMxICR SET1C LL_HRTIM_ClearFlag_SET1
AnnaBridge 163:e59c8e839560 8173 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8174 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8175 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8176 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8177 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8178 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8179 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8180 * @retval None
AnnaBridge 163:e59c8e839560 8181 */
AnnaBridge 163:e59c8e839560 8182 __STATIC_INLINE void LL_HRTIM_ClearFlag_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8183 {
AnnaBridge 163:e59c8e839560 8184 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8185 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8186 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8187 SET_BIT(*pReg, HRTIM_TIMICR_SET1C);
AnnaBridge 163:e59c8e839560 8188 }
AnnaBridge 163:e59c8e839560 8189
AnnaBridge 163:e59c8e839560 8190 /**
AnnaBridge 163:e59c8e839560 8191 * @brief Indicate whether the output 1 set interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8192 * @rmtoll TIMxISR SET1 LL_HRTIM_IsActiveFlag_SET1
AnnaBridge 163:e59c8e839560 8193 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8194 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8195 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8196 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8197 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8198 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8199 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8200 * @retval State of SETx1 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8201 */
AnnaBridge 163:e59c8e839560 8202 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8203 {
AnnaBridge 163:e59c8e839560 8204 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8205 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8206 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8207 return (READ_BIT(*pReg, HRTIM_TIMISR_SET1) == (HRTIM_TIMISR_SET1));
AnnaBridge 163:e59c8e839560 8208 }
AnnaBridge 163:e59c8e839560 8209
AnnaBridge 163:e59c8e839560 8210 /**
AnnaBridge 163:e59c8e839560 8211 * @brief Clear the output 1 reset interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8212 * @rmtoll TIMxICR RST1C LL_HRTIM_ClearFlag_RST1
AnnaBridge 163:e59c8e839560 8213 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8214 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8215 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8216 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8217 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8218 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8219 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8220 * @retval None
AnnaBridge 163:e59c8e839560 8221 */
AnnaBridge 163:e59c8e839560 8222 __STATIC_INLINE void LL_HRTIM_ClearFlag_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8223 {
AnnaBridge 163:e59c8e839560 8224 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8225 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8226 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8227 SET_BIT(*pReg, HRTIM_TIMICR_RST1C);
AnnaBridge 163:e59c8e839560 8228 }
AnnaBridge 163:e59c8e839560 8229
AnnaBridge 163:e59c8e839560 8230 /**
AnnaBridge 163:e59c8e839560 8231 * @brief Indicate whether the output 1 reset interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8232 * @rmtoll TIMxISR RST1 LL_HRTIM_IsActiveFlag_RST1
AnnaBridge 163:e59c8e839560 8233 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8234 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8235 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8236 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8237 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8238 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8239 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8240 * @retval State of RSTx1 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8241 */
AnnaBridge 163:e59c8e839560 8242 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8243 {
AnnaBridge 163:e59c8e839560 8244 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8245 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8246 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8247 return (READ_BIT(*pReg, HRTIM_TIMISR_RST1) == (HRTIM_TIMISR_RST1));
AnnaBridge 163:e59c8e839560 8248 }
AnnaBridge 163:e59c8e839560 8249
AnnaBridge 163:e59c8e839560 8250 /**
AnnaBridge 163:e59c8e839560 8251 * @brief Clear the output 2 set interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8252 * @rmtoll TIMxICR SET2C LL_HRTIM_ClearFlag_SET2
AnnaBridge 163:e59c8e839560 8253 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8254 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8255 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8256 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8257 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8258 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8259 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8260 * @retval None
AnnaBridge 163:e59c8e839560 8261 */
AnnaBridge 163:e59c8e839560 8262 __STATIC_INLINE void LL_HRTIM_ClearFlag_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8263 {
AnnaBridge 163:e59c8e839560 8264 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8265 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8266 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8267 SET_BIT(*pReg, HRTIM_TIMICR_SET2C);
AnnaBridge 163:e59c8e839560 8268 }
AnnaBridge 163:e59c8e839560 8269
AnnaBridge 163:e59c8e839560 8270 /**
AnnaBridge 163:e59c8e839560 8271 * @brief Indicate whether the output 2 set interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8272 * @rmtoll TIMxISR SET2 LL_HRTIM_IsActiveFlag_SET2
AnnaBridge 163:e59c8e839560 8273 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8274 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8275 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8276 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8277 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8278 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8279 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8280 * @retval State of SETx2 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8281 */
AnnaBridge 163:e59c8e839560 8282 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8283 {
AnnaBridge 163:e59c8e839560 8284 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8285 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8286 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8287 return (READ_BIT(*pReg, HRTIM_TIMISR_SET2) == (HRTIM_TIMISR_SET2));
AnnaBridge 163:e59c8e839560 8288 }
AnnaBridge 163:e59c8e839560 8289
AnnaBridge 163:e59c8e839560 8290 /**
AnnaBridge 163:e59c8e839560 8291 * @brief Clear the output 2reset interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8292 * @rmtoll TIMxICR RST2C LL_HRTIM_ClearFlag_RST2
AnnaBridge 163:e59c8e839560 8293 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8294 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8295 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8296 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8297 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8298 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8299 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8300 * @retval None
AnnaBridge 163:e59c8e839560 8301 */
AnnaBridge 163:e59c8e839560 8302 __STATIC_INLINE void LL_HRTIM_ClearFlag_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8303 {
AnnaBridge 163:e59c8e839560 8304 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8305 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8306 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8307 SET_BIT(*pReg, HRTIM_TIMICR_RST2C);
AnnaBridge 163:e59c8e839560 8308 }
AnnaBridge 163:e59c8e839560 8309
AnnaBridge 163:e59c8e839560 8310 /**
AnnaBridge 163:e59c8e839560 8311 * @brief Indicate whether the output 2 reset interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8312 * @rmtoll TIMxISR RST2 LL_HRTIM_IsActiveFlag_RST2
AnnaBridge 163:e59c8e839560 8313 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8314 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8315 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8316 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8317 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8318 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8319 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8320 * @retval State of RSTx2 bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8321 */
AnnaBridge 163:e59c8e839560 8322 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8323 {
AnnaBridge 163:e59c8e839560 8324 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8325 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8326 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8327 return (READ_BIT(*pReg, HRTIM_TIMISR_RST2) == (HRTIM_TIMISR_RST2));
AnnaBridge 163:e59c8e839560 8328 }
AnnaBridge 163:e59c8e839560 8329
AnnaBridge 163:e59c8e839560 8330 /**
AnnaBridge 163:e59c8e839560 8331 * @brief Clear the reset and/or roll-over interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8332 * @rmtoll TIMxICR RSTC LL_HRTIM_ClearFlag_RST
AnnaBridge 163:e59c8e839560 8333 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8334 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8335 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8336 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8337 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8338 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8339 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8340 * @retval None
AnnaBridge 163:e59c8e839560 8341 */
AnnaBridge 163:e59c8e839560 8342 __STATIC_INLINE void LL_HRTIM_ClearFlag_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8343 {
AnnaBridge 163:e59c8e839560 8344 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8345 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8346 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8347 SET_BIT(*pReg, HRTIM_TIMICR_RSTC);
AnnaBridge 163:e59c8e839560 8348 }
AnnaBridge 163:e59c8e839560 8349
AnnaBridge 163:e59c8e839560 8350 /**
AnnaBridge 163:e59c8e839560 8351 * @brief Indicate whether the reset and/or roll-over interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8352 * @rmtoll TIMxISR RST LL_HRTIM_IsActiveFlag_RST
AnnaBridge 163:e59c8e839560 8353 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8354 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8355 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8356 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8357 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8358 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8359 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8360 * @retval State of RST bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8361 */
AnnaBridge 163:e59c8e839560 8362 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8363 {
AnnaBridge 163:e59c8e839560 8364 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8365 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8366 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8367 return (READ_BIT(*pReg, HRTIM_TIMISR_RST) == (HRTIM_TIMISR_RST));
AnnaBridge 163:e59c8e839560 8368 }
AnnaBridge 163:e59c8e839560 8369
AnnaBridge 163:e59c8e839560 8370 /**
AnnaBridge 163:e59c8e839560 8371 * @brief Clear the delayed protection interrupt flag for a given timer.
AnnaBridge 163:e59c8e839560 8372 * @rmtoll TIMxICR DLYPRTC LL_HRTIM_ClearFlag_DLYPRT
AnnaBridge 163:e59c8e839560 8373 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8374 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8375 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8376 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8377 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8378 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8379 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8380 * @retval None
AnnaBridge 163:e59c8e839560 8381 */
AnnaBridge 163:e59c8e839560 8382 __STATIC_INLINE void LL_HRTIM_ClearFlag_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8383 {
AnnaBridge 163:e59c8e839560 8384 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8385 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MICR) +
AnnaBridge 163:e59c8e839560 8386 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8387 SET_BIT(*pReg, HRTIM_TIMICR_DLYPRT1C);
AnnaBridge 163:e59c8e839560 8388 }
AnnaBridge 163:e59c8e839560 8389
AnnaBridge 163:e59c8e839560 8390 /**
AnnaBridge 163:e59c8e839560 8391 * @brief Indicate whether the delayed protection interrupt occurred for a given timer.
AnnaBridge 163:e59c8e839560 8392 * @rmtoll TIMxISR DLYPRT LL_HRTIM_IsActiveFlag_DLYPRT
AnnaBridge 163:e59c8e839560 8393 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8394 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8395 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8396 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8397 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8398 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8399 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8400 * @retval State of DLYPRT bit in HRTIM_TIMxISR register (1 or 0).
AnnaBridge 163:e59c8e839560 8401 */
AnnaBridge 163:e59c8e839560 8402 __STATIC_INLINE uint32_t LL_HRTIM_IsActiveFlag_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8403 {
AnnaBridge 163:e59c8e839560 8404 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8405 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MISR) +
AnnaBridge 163:e59c8e839560 8406 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8407 return (READ_BIT(*pReg, HRTIM_TIMISR_DLYPRT) == (HRTIM_TIMISR_DLYPRT));
AnnaBridge 163:e59c8e839560 8408 }
AnnaBridge 163:e59c8e839560 8409
AnnaBridge 163:e59c8e839560 8410 /**
AnnaBridge 163:e59c8e839560 8411 * @}
AnnaBridge 163:e59c8e839560 8412 */
AnnaBridge 163:e59c8e839560 8413
AnnaBridge 163:e59c8e839560 8414 /** @defgroup HRTIM_EF_IT_Management IT_Management
AnnaBridge 163:e59c8e839560 8415 * @{
AnnaBridge 163:e59c8e839560 8416 */
AnnaBridge 163:e59c8e839560 8417
AnnaBridge 163:e59c8e839560 8418 /**
AnnaBridge 163:e59c8e839560 8419 * @brief Enable the fault 1 interrupt.
AnnaBridge 163:e59c8e839560 8420 * @rmtoll IER FLT1IE LL_HRTIM_EnableIT_FLT1
AnnaBridge 163:e59c8e839560 8421 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8422 * @retval None
AnnaBridge 163:e59c8e839560 8423 */
AnnaBridge 163:e59c8e839560 8424 __STATIC_INLINE void LL_HRTIM_EnableIT_FLT1(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8425 {
AnnaBridge 163:e59c8e839560 8426 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT1);
AnnaBridge 163:e59c8e839560 8427 }
AnnaBridge 163:e59c8e839560 8428
AnnaBridge 163:e59c8e839560 8429 /**
AnnaBridge 163:e59c8e839560 8430 * @brief Disable the fault 1 interrupt.
AnnaBridge 163:e59c8e839560 8431 * @rmtoll IER FLT1IE LL_HRTIM_DisableIT_FLT1
AnnaBridge 163:e59c8e839560 8432 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8433 * @retval None
AnnaBridge 163:e59c8e839560 8434 */
AnnaBridge 163:e59c8e839560 8435 __STATIC_INLINE void LL_HRTIM_DisableIT_FLT1(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8436 {
AnnaBridge 163:e59c8e839560 8437 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT1);
AnnaBridge 163:e59c8e839560 8438 }
AnnaBridge 163:e59c8e839560 8439
AnnaBridge 163:e59c8e839560 8440 /**
AnnaBridge 163:e59c8e839560 8441 * @brief Indicate whether the fault 1 interrupt is enabled.
AnnaBridge 163:e59c8e839560 8442 * @rmtoll IER FLT1IE LL_HRTIM_IsEnabledIT_FLT1
AnnaBridge 163:e59c8e839560 8443 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8444 * @retval State of FLT1IE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8445 */
AnnaBridge 163:e59c8e839560 8446 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_FLT1(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8447 {
AnnaBridge 163:e59c8e839560 8448 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT1) == (HRTIM_IER_FLT1));
AnnaBridge 163:e59c8e839560 8449 }
AnnaBridge 163:e59c8e839560 8450
AnnaBridge 163:e59c8e839560 8451 /**
AnnaBridge 163:e59c8e839560 8452 * @brief Enable the fault 2 interrupt.
AnnaBridge 163:e59c8e839560 8453 * @rmtoll IER FLT2IE LL_HRTIM_EnableIT_FLT2
AnnaBridge 163:e59c8e839560 8454 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8455 * @retval None
AnnaBridge 163:e59c8e839560 8456 */
AnnaBridge 163:e59c8e839560 8457 __STATIC_INLINE void LL_HRTIM_EnableIT_FLT2(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8458 {
AnnaBridge 163:e59c8e839560 8459 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT2);
AnnaBridge 163:e59c8e839560 8460 }
AnnaBridge 163:e59c8e839560 8461
AnnaBridge 163:e59c8e839560 8462 /**
AnnaBridge 163:e59c8e839560 8463 * @brief Disable the fault 2 interrupt.
AnnaBridge 163:e59c8e839560 8464 * @rmtoll IER FLT2IE LL_HRTIM_DisableIT_FLT2
AnnaBridge 163:e59c8e839560 8465 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8466 * @retval None
AnnaBridge 163:e59c8e839560 8467 */
AnnaBridge 163:e59c8e839560 8468 __STATIC_INLINE void LL_HRTIM_DisableIT_FLT2(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8469 {
AnnaBridge 163:e59c8e839560 8470 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT2);
AnnaBridge 163:e59c8e839560 8471 }
AnnaBridge 163:e59c8e839560 8472
AnnaBridge 163:e59c8e839560 8473 /**
AnnaBridge 163:e59c8e839560 8474 * @brief Indicate whether the fault 2 interrupt is enabled.
AnnaBridge 163:e59c8e839560 8475 * @rmtoll IER FLT2IE LL_HRTIM_IsEnabledIT_FLT2
AnnaBridge 163:e59c8e839560 8476 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8477 * @retval State of FLT2IE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8478 */
AnnaBridge 163:e59c8e839560 8479 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_FLT2(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8480 {
AnnaBridge 163:e59c8e839560 8481 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT2) == (HRTIM_IER_FLT2));
AnnaBridge 163:e59c8e839560 8482 }
AnnaBridge 163:e59c8e839560 8483
AnnaBridge 163:e59c8e839560 8484 /**
AnnaBridge 163:e59c8e839560 8485 * @brief Enable the fault 3 interrupt.
AnnaBridge 163:e59c8e839560 8486 * @rmtoll IER FLT3IE LL_HRTIM_EnableIT_FLT3
AnnaBridge 163:e59c8e839560 8487 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8488 * @retval None
AnnaBridge 163:e59c8e839560 8489 */
AnnaBridge 163:e59c8e839560 8490 __STATIC_INLINE void LL_HRTIM_EnableIT_FLT3(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8491 {
AnnaBridge 163:e59c8e839560 8492 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT3);
AnnaBridge 163:e59c8e839560 8493 }
AnnaBridge 163:e59c8e839560 8494
AnnaBridge 163:e59c8e839560 8495 /**
AnnaBridge 163:e59c8e839560 8496 * @brief Disable the fault 3 interrupt.
AnnaBridge 163:e59c8e839560 8497 * @rmtoll IER FLT3IE LL_HRTIM_DisableIT_FLT3
AnnaBridge 163:e59c8e839560 8498 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8499 * @retval None
AnnaBridge 163:e59c8e839560 8500 */
AnnaBridge 163:e59c8e839560 8501 __STATIC_INLINE void LL_HRTIM_DisableIT_FLT3(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8502 {
AnnaBridge 163:e59c8e839560 8503 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT3);
AnnaBridge 163:e59c8e839560 8504 }
AnnaBridge 163:e59c8e839560 8505
AnnaBridge 163:e59c8e839560 8506 /**
AnnaBridge 163:e59c8e839560 8507 * @brief Indicate whether the fault 3 interrupt is enabled.
AnnaBridge 163:e59c8e839560 8508 * @rmtoll IER FLT3IE LL_HRTIM_IsEnabledIT_FLT3
AnnaBridge 163:e59c8e839560 8509 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8510 * @retval State of FLT3IE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8511 */
AnnaBridge 163:e59c8e839560 8512 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_FLT3(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8513 {
AnnaBridge 163:e59c8e839560 8514 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT3) == (HRTIM_IER_FLT3));
AnnaBridge 163:e59c8e839560 8515 }
AnnaBridge 163:e59c8e839560 8516
AnnaBridge 163:e59c8e839560 8517 /**
AnnaBridge 163:e59c8e839560 8518 * @brief Enable the fault 4 interrupt.
AnnaBridge 163:e59c8e839560 8519 * @rmtoll IER FLT4IE LL_HRTIM_EnableIT_FLT4
AnnaBridge 163:e59c8e839560 8520 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8521 * @retval None
AnnaBridge 163:e59c8e839560 8522 */
AnnaBridge 163:e59c8e839560 8523 __STATIC_INLINE void LL_HRTIM_EnableIT_FLT4(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8524 {
AnnaBridge 163:e59c8e839560 8525 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT4);
AnnaBridge 163:e59c8e839560 8526 }
AnnaBridge 163:e59c8e839560 8527
AnnaBridge 163:e59c8e839560 8528 /**
AnnaBridge 163:e59c8e839560 8529 * @brief Disable the fault 4 interrupt.
AnnaBridge 163:e59c8e839560 8530 * @rmtoll IER FLT4IE LL_HRTIM_DisableIT_FLT4
AnnaBridge 163:e59c8e839560 8531 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8532 * @retval None
AnnaBridge 163:e59c8e839560 8533 */
AnnaBridge 163:e59c8e839560 8534 __STATIC_INLINE void LL_HRTIM_DisableIT_FLT4(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8535 {
AnnaBridge 163:e59c8e839560 8536 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT4);
AnnaBridge 163:e59c8e839560 8537 }
AnnaBridge 163:e59c8e839560 8538
AnnaBridge 163:e59c8e839560 8539 /**
AnnaBridge 163:e59c8e839560 8540 * @brief Indicate whether the fault 4 interrupt is enabled.
AnnaBridge 163:e59c8e839560 8541 * @rmtoll IER FLT4IE LL_HRTIM_IsEnabledIT_FLT4
AnnaBridge 163:e59c8e839560 8542 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8543 * @retval State of FLT4IE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8544 */
AnnaBridge 163:e59c8e839560 8545 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_FLT4(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8546 {
AnnaBridge 163:e59c8e839560 8547 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT4) == (HRTIM_IER_FLT4));
AnnaBridge 163:e59c8e839560 8548 }
AnnaBridge 163:e59c8e839560 8549
AnnaBridge 163:e59c8e839560 8550 /**
AnnaBridge 163:e59c8e839560 8551 * @brief Enable the fault 5 interrupt.
AnnaBridge 163:e59c8e839560 8552 * @rmtoll IER FLT5IE LL_HRTIM_EnableIT_FLT5
AnnaBridge 163:e59c8e839560 8553 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8554 * @retval None
AnnaBridge 163:e59c8e839560 8555 */
AnnaBridge 163:e59c8e839560 8556 __STATIC_INLINE void LL_HRTIM_EnableIT_FLT5(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8557 {
AnnaBridge 163:e59c8e839560 8558 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT5);
AnnaBridge 163:e59c8e839560 8559 }
AnnaBridge 163:e59c8e839560 8560
AnnaBridge 163:e59c8e839560 8561 /**
AnnaBridge 163:e59c8e839560 8562 * @brief Disable the fault 5 interrupt.
AnnaBridge 163:e59c8e839560 8563 * @rmtoll IER FLT5IE LL_HRTIM_DisableIT_FLT5
AnnaBridge 163:e59c8e839560 8564 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8565 * @retval None
AnnaBridge 163:e59c8e839560 8566 */
AnnaBridge 163:e59c8e839560 8567 __STATIC_INLINE void LL_HRTIM_DisableIT_FLT5(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8568 {
AnnaBridge 163:e59c8e839560 8569 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT5);
AnnaBridge 163:e59c8e839560 8570 }
AnnaBridge 163:e59c8e839560 8571
AnnaBridge 163:e59c8e839560 8572 /**
AnnaBridge 163:e59c8e839560 8573 * @brief Indicate whether the fault 5 interrupt is enabled.
AnnaBridge 163:e59c8e839560 8574 * @rmtoll IER FLT5IE LL_HRTIM_IsEnabledIT_FLT5
AnnaBridge 163:e59c8e839560 8575 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8576 * @retval State of FLT5IE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8577 */
AnnaBridge 163:e59c8e839560 8578 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_FLT5(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8579 {
AnnaBridge 163:e59c8e839560 8580 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_FLT5) == (HRTIM_IER_FLT5));
AnnaBridge 163:e59c8e839560 8581 }
AnnaBridge 163:e59c8e839560 8582
AnnaBridge 163:e59c8e839560 8583 /**
AnnaBridge 163:e59c8e839560 8584 * @brief Enable the system fault interrupt.
AnnaBridge 163:e59c8e839560 8585 * @rmtoll IER SYSFLTIE LL_HRTIM_EnableIT_SYSFLT
AnnaBridge 163:e59c8e839560 8586 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8587 * @retval None
AnnaBridge 163:e59c8e839560 8588 */
AnnaBridge 163:e59c8e839560 8589 __STATIC_INLINE void LL_HRTIM_EnableIT_SYSFLT(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8590 {
AnnaBridge 163:e59c8e839560 8591 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_SYSFLT);
AnnaBridge 163:e59c8e839560 8592 }
AnnaBridge 163:e59c8e839560 8593
AnnaBridge 163:e59c8e839560 8594 /**
AnnaBridge 163:e59c8e839560 8595 * @brief Disable the system fault interrupt.
AnnaBridge 163:e59c8e839560 8596 * @rmtoll IER SYSFLTIE LL_HRTIM_DisableIT_SYSFLT
AnnaBridge 163:e59c8e839560 8597 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8598 * @retval None
AnnaBridge 163:e59c8e839560 8599 */
AnnaBridge 163:e59c8e839560 8600 __STATIC_INLINE void LL_HRTIM_DisableIT_SYSFLT(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8601 {
AnnaBridge 163:e59c8e839560 8602 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_SYSFLT);
AnnaBridge 163:e59c8e839560 8603 }
AnnaBridge 163:e59c8e839560 8604
AnnaBridge 163:e59c8e839560 8605 /**
AnnaBridge 163:e59c8e839560 8606 * @brief Indicate whether the system fault interrupt is enabled.
AnnaBridge 163:e59c8e839560 8607 * @rmtoll IER SYSFLTIE LL_HRTIM_IsEnabledIT_SYSFLT
AnnaBridge 163:e59c8e839560 8608 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8609 * @retval State of SYSFLTIE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8610 */
AnnaBridge 163:e59c8e839560 8611 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_SYSFLT(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8612 {
AnnaBridge 163:e59c8e839560 8613 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_SYSFLT) == (HRTIM_IER_SYSFLT));
AnnaBridge 163:e59c8e839560 8614 }
AnnaBridge 163:e59c8e839560 8615
AnnaBridge 163:e59c8e839560 8616 /**
AnnaBridge 163:e59c8e839560 8617 * @brief Enable the DLL ready interrupt.
AnnaBridge 163:e59c8e839560 8618 * @rmtoll IER DLLRDYIE LL_HRTIM_EnableIT_DLLRDY
AnnaBridge 163:e59c8e839560 8619 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8620 * @retval None
AnnaBridge 163:e59c8e839560 8621 */
AnnaBridge 163:e59c8e839560 8622 __STATIC_INLINE void LL_HRTIM_EnableIT_DLLRDY(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8623 {
AnnaBridge 163:e59c8e839560 8624 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_DLLRDY);
AnnaBridge 163:e59c8e839560 8625 }
AnnaBridge 163:e59c8e839560 8626
AnnaBridge 163:e59c8e839560 8627 /**
AnnaBridge 163:e59c8e839560 8628 * @brief Disable the DLL ready interrupt.
AnnaBridge 163:e59c8e839560 8629 * @rmtoll IER DLLRDYIE LL_HRTIM_DisableIT_DLLRDY
AnnaBridge 163:e59c8e839560 8630 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8631 * @retval None
AnnaBridge 163:e59c8e839560 8632 */
AnnaBridge 163:e59c8e839560 8633 __STATIC_INLINE void LL_HRTIM_DisableIT_DLLRDY(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8634 {
AnnaBridge 163:e59c8e839560 8635 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_DLLRDY);
AnnaBridge 163:e59c8e839560 8636 }
AnnaBridge 163:e59c8e839560 8637
AnnaBridge 163:e59c8e839560 8638 /**
AnnaBridge 163:e59c8e839560 8639 * @brief Indicate whether the DLL ready interrupt is enabled.
AnnaBridge 163:e59c8e839560 8640 * @rmtoll IER DLLRDYIE LL_HRTIM_IsEnabledIT_DLLRDY
AnnaBridge 163:e59c8e839560 8641 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8642 * @retval State of DLLRDYIE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8643 */
AnnaBridge 163:e59c8e839560 8644 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_DLLRDY(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8645 {
AnnaBridge 163:e59c8e839560 8646 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_DLLRDY) == (HRTIM_IER_DLLRDY));
AnnaBridge 163:e59c8e839560 8647 }
AnnaBridge 163:e59c8e839560 8648
AnnaBridge 163:e59c8e839560 8649 /**
AnnaBridge 163:e59c8e839560 8650 * @brief Enable the burst mode period interrupt.
AnnaBridge 163:e59c8e839560 8651 * @rmtoll IER BMPERIE LL_HRTIM_EnableIT_BMPER
AnnaBridge 163:e59c8e839560 8652 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8653 * @retval None
AnnaBridge 163:e59c8e839560 8654 */
AnnaBridge 163:e59c8e839560 8655 __STATIC_INLINE void LL_HRTIM_EnableIT_BMPER(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8656 {
AnnaBridge 163:e59c8e839560 8657 SET_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_BMPER);
AnnaBridge 163:e59c8e839560 8658 }
AnnaBridge 163:e59c8e839560 8659
AnnaBridge 163:e59c8e839560 8660 /**
AnnaBridge 163:e59c8e839560 8661 * @brief Disable the burst mode period interrupt.
AnnaBridge 163:e59c8e839560 8662 * @rmtoll IER BMPERIE LL_HRTIM_DisableIT_BMPER
AnnaBridge 163:e59c8e839560 8663 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8664 * @retval None
AnnaBridge 163:e59c8e839560 8665 */
AnnaBridge 163:e59c8e839560 8666 __STATIC_INLINE void LL_HRTIM_DisableIT_BMPER(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8667 {
AnnaBridge 163:e59c8e839560 8668 CLEAR_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_BMPER);
AnnaBridge 163:e59c8e839560 8669 }
AnnaBridge 163:e59c8e839560 8670
AnnaBridge 163:e59c8e839560 8671 /**
AnnaBridge 163:e59c8e839560 8672 * @brief Indicate whether the burst mode period interrupt is enabled.
AnnaBridge 163:e59c8e839560 8673 * @rmtoll IER BMPERIE LL_HRTIM_IsEnabledIT_BMPER
AnnaBridge 163:e59c8e839560 8674 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8675 * @retval State of BMPERIE bit in HRTIM_IER register (1 or 0).
AnnaBridge 163:e59c8e839560 8676 */
AnnaBridge 163:e59c8e839560 8677 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_BMPER(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8678 {
AnnaBridge 163:e59c8e839560 8679 return (READ_BIT(HRTIMx->sCommonRegs.IER, HRTIM_IER_BMPER) == (HRTIM_IER_BMPER));
AnnaBridge 163:e59c8e839560 8680 }
AnnaBridge 163:e59c8e839560 8681
AnnaBridge 163:e59c8e839560 8682 /**
AnnaBridge 163:e59c8e839560 8683 * @brief Enable the synchronization input interrupt.
AnnaBridge 163:e59c8e839560 8684 * @rmtoll MDIER SYNCIE LL_HRTIM_EnableIT_SYNC
AnnaBridge 163:e59c8e839560 8685 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8686 * @retval None
AnnaBridge 163:e59c8e839560 8687 */
AnnaBridge 163:e59c8e839560 8688 __STATIC_INLINE void LL_HRTIM_EnableIT_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8689 {
AnnaBridge 163:e59c8e839560 8690 SET_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCIE);
AnnaBridge 163:e59c8e839560 8691 }
AnnaBridge 163:e59c8e839560 8692
AnnaBridge 163:e59c8e839560 8693 /**
AnnaBridge 163:e59c8e839560 8694 * @brief Disable the synchronization input interrupt.
AnnaBridge 163:e59c8e839560 8695 * @rmtoll MDIER SYNCIE LL_HRTIM_DisableIT_SYNC
AnnaBridge 163:e59c8e839560 8696 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8697 * @retval None
AnnaBridge 163:e59c8e839560 8698 */
AnnaBridge 163:e59c8e839560 8699 __STATIC_INLINE void LL_HRTIM_DisableIT_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8700 {
AnnaBridge 163:e59c8e839560 8701 CLEAR_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCIE);
AnnaBridge 163:e59c8e839560 8702 }
AnnaBridge 163:e59c8e839560 8703
AnnaBridge 163:e59c8e839560 8704 /**
AnnaBridge 163:e59c8e839560 8705 * @brief Indicate whether the synchronization input interrupt is enabled.
AnnaBridge 163:e59c8e839560 8706 * @rmtoll MDIER SYNCIE LL_HRTIM_IsEnabledIT_SYNC
AnnaBridge 163:e59c8e839560 8707 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8708 * @retval State of SYNCIE bit in HRTIM_MDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 8709 */
AnnaBridge 163:e59c8e839560 8710 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 8711 {
AnnaBridge 163:e59c8e839560 8712 return (READ_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCIE) == (HRTIM_MDIER_SYNCIE));
AnnaBridge 163:e59c8e839560 8713 }
AnnaBridge 163:e59c8e839560 8714
AnnaBridge 163:e59c8e839560 8715 /**
AnnaBridge 163:e59c8e839560 8716 * @brief Enable the update interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8717 * @rmtoll MDIER MUPDIE LL_HRTIM_EnableIT_UPDATE\n
AnnaBridge 163:e59c8e839560 8718 * TIMxDIER UPDIE LL_HRTIM_EnableIT_UPDATE
AnnaBridge 163:e59c8e839560 8719 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8720 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8721 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8722 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8723 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8724 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8725 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8726 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8727 * @retval None
AnnaBridge 163:e59c8e839560 8728 */
AnnaBridge 163:e59c8e839560 8729 __STATIC_INLINE void LL_HRTIM_EnableIT_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8730 {
AnnaBridge 163:e59c8e839560 8731 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8732 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8733 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8734 SET_BIT(*pReg, HRTIM_MDIER_MUPDIE);
AnnaBridge 163:e59c8e839560 8735 }
AnnaBridge 163:e59c8e839560 8736
AnnaBridge 163:e59c8e839560 8737 /**
AnnaBridge 163:e59c8e839560 8738 * @brief Disable the update interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8739 * @rmtoll MDIER MUPDIE LL_HRTIM_DisableIT_UPDATE\n
AnnaBridge 163:e59c8e839560 8740 * TIMxDIER UPDIE LL_HRTIM_DisableIT_UPDATE
AnnaBridge 163:e59c8e839560 8741 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8742 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8743 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8744 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8745 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8746 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8747 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8748 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8749 * @retval None
AnnaBridge 163:e59c8e839560 8750 */
AnnaBridge 163:e59c8e839560 8751 __STATIC_INLINE void LL_HRTIM_DisableIT_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8752 {
AnnaBridge 163:e59c8e839560 8753 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8754 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8755 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8756 CLEAR_BIT(*pReg, HRTIM_MDIER_MUPDIE);
AnnaBridge 163:e59c8e839560 8757 }
AnnaBridge 163:e59c8e839560 8758
AnnaBridge 163:e59c8e839560 8759 /**
AnnaBridge 163:e59c8e839560 8760 * @brief Indicate whether the update interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 8761 * @rmtoll MDIER MUPDIE LL_HRTIM_IsEnabledIT_UPDATE\n
AnnaBridge 163:e59c8e839560 8762 * TIMxDIER UPDIE LL_HRTIM_IsEnabledIT_UPDATE
AnnaBridge 163:e59c8e839560 8763 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8764 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8765 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8766 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8767 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8768 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8769 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8770 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8771 * @retval State of MUPDIE/UPDIE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 8772 */
AnnaBridge 163:e59c8e839560 8773 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8774 {
AnnaBridge 163:e59c8e839560 8775 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8776 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8777 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8778 return (READ_BIT(*pReg, HRTIM_MDIER_MUPDIE) == (HRTIM_MDIER_MUPDIE));
AnnaBridge 163:e59c8e839560 8779 }
AnnaBridge 163:e59c8e839560 8780
AnnaBridge 163:e59c8e839560 8781 /**
AnnaBridge 163:e59c8e839560 8782 * @brief Enable the repetition interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8783 * @rmtoll MDIER MREPIE LL_HRTIM_EnableIT_REP\n
AnnaBridge 163:e59c8e839560 8784 * TIMxDIER REPIE LL_HRTIM_EnableIT_REP
AnnaBridge 163:e59c8e839560 8785 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8786 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8787 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8788 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8789 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8790 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8791 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8792 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8793 * @retval None
AnnaBridge 163:e59c8e839560 8794 */
AnnaBridge 163:e59c8e839560 8795 __STATIC_INLINE void LL_HRTIM_EnableIT_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8796 {
AnnaBridge 163:e59c8e839560 8797 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8798 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8799 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8800 SET_BIT(*pReg, HRTIM_MDIER_MREPIE);
AnnaBridge 163:e59c8e839560 8801 }
AnnaBridge 163:e59c8e839560 8802
AnnaBridge 163:e59c8e839560 8803 /**
AnnaBridge 163:e59c8e839560 8804 * @brief Disable the repetition interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8805 * @rmtoll MDIER MREPIE LL_HRTIM_DisableIT_REP\n
AnnaBridge 163:e59c8e839560 8806 * TIMxDIER REPIE LL_HRTIM_DisableIT_REP
AnnaBridge 163:e59c8e839560 8807 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8808 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8809 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8810 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8811 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8812 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8813 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8814 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8815 * @retval None
AnnaBridge 163:e59c8e839560 8816 */
AnnaBridge 163:e59c8e839560 8817 __STATIC_INLINE void LL_HRTIM_DisableIT_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8818 {
AnnaBridge 163:e59c8e839560 8819 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8820 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8821 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8822 CLEAR_BIT(*pReg, HRTIM_MDIER_MREPIE);
AnnaBridge 163:e59c8e839560 8823 }
AnnaBridge 163:e59c8e839560 8824
AnnaBridge 163:e59c8e839560 8825 /**
AnnaBridge 163:e59c8e839560 8826 * @brief Indicate whether the repetition interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 8827 * @rmtoll MDIER MREPIE LL_HRTIM_IsEnabledIT_REP\n
AnnaBridge 163:e59c8e839560 8828 * TIMxDIER REPIE LL_HRTIM_IsEnabledIT_REP
AnnaBridge 163:e59c8e839560 8829 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8830 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8831 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8832 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8833 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8834 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8835 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8836 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8837 * @retval State of MREPIE/REPIE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 8838 */
AnnaBridge 163:e59c8e839560 8839 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8840 {
AnnaBridge 163:e59c8e839560 8841 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8842 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8843 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8844 return (READ_BIT(*pReg, HRTIM_MDIER_MREPIE) == (HRTIM_MDIER_MREPIE));
AnnaBridge 163:e59c8e839560 8845 }
AnnaBridge 163:e59c8e839560 8846
AnnaBridge 163:e59c8e839560 8847 /**
AnnaBridge 163:e59c8e839560 8848 * @brief Enable the compare 1 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8849 * @rmtoll MDIER MCMP1IE LL_HRTIM_EnableIT_CMP1\n
AnnaBridge 163:e59c8e839560 8850 * TIMxDIER CMP1IE LL_HRTIM_EnableIT_CMP1
AnnaBridge 163:e59c8e839560 8851 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8852 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8853 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8854 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8855 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8856 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8857 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8858 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8859 * @retval None
AnnaBridge 163:e59c8e839560 8860 */
AnnaBridge 163:e59c8e839560 8861 __STATIC_INLINE void LL_HRTIM_EnableIT_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8862 {
AnnaBridge 163:e59c8e839560 8863 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8864 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8865 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8866 SET_BIT(*pReg, HRTIM_MDIER_MCMP1IE);
AnnaBridge 163:e59c8e839560 8867 }
AnnaBridge 163:e59c8e839560 8868
AnnaBridge 163:e59c8e839560 8869 /**
AnnaBridge 163:e59c8e839560 8870 * @brief Disable the compare 1 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8871 * @rmtoll MDIER MCMP1IE LL_HRTIM_DisableIT_CMP1\n
AnnaBridge 163:e59c8e839560 8872 * TIMxDIER CMP1IE LL_HRTIM_DisableIT_CMP1
AnnaBridge 163:e59c8e839560 8873 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8874 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8875 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8876 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8877 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8878 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8879 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8880 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8881 * @retval None
AnnaBridge 163:e59c8e839560 8882 */
AnnaBridge 163:e59c8e839560 8883 __STATIC_INLINE void LL_HRTIM_DisableIT_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8884 {
AnnaBridge 163:e59c8e839560 8885 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8886 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8887 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8888 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP1IE);
AnnaBridge 163:e59c8e839560 8889 }
AnnaBridge 163:e59c8e839560 8890
AnnaBridge 163:e59c8e839560 8891 /**
AnnaBridge 163:e59c8e839560 8892 * @brief Indicate whether the compare 1 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 8893 * @rmtoll MDIER MCMP1IE LL_HRTIM_IsEnabledIT_CMP1\n
AnnaBridge 163:e59c8e839560 8894 * TIMxDIER CMP1IE LL_HRTIM_IsEnabledIT_CMP1
AnnaBridge 163:e59c8e839560 8895 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8896 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8897 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8898 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8899 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8900 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8901 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8902 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8903 * @retval State of MCMP1IE/CMP1IE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 8904 */
AnnaBridge 163:e59c8e839560 8905 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8906 {
AnnaBridge 163:e59c8e839560 8907 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8908 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8909 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8910 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP1IE) == (HRTIM_MDIER_MCMP1IE));
AnnaBridge 163:e59c8e839560 8911 }
AnnaBridge 163:e59c8e839560 8912
AnnaBridge 163:e59c8e839560 8913 /**
AnnaBridge 163:e59c8e839560 8914 * @brief Enable the compare 2 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8915 * @rmtoll MDIER MCMP2IE LL_HRTIM_EnableIT_CMP2\n
AnnaBridge 163:e59c8e839560 8916 * TIMxDIER CMP2IE LL_HRTIM_EnableIT_CMP2
AnnaBridge 163:e59c8e839560 8917 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8918 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8919 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8920 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8921 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8922 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8923 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8924 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8925 * @retval None
AnnaBridge 163:e59c8e839560 8926 */
AnnaBridge 163:e59c8e839560 8927 __STATIC_INLINE void LL_HRTIM_EnableIT_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8928 {
AnnaBridge 163:e59c8e839560 8929 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8930 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8931 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8932 SET_BIT(*pReg, HRTIM_MDIER_MCMP2IE);
AnnaBridge 163:e59c8e839560 8933 }
AnnaBridge 163:e59c8e839560 8934
AnnaBridge 163:e59c8e839560 8935 /**
AnnaBridge 163:e59c8e839560 8936 * @brief Disable the compare 2 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8937 * @rmtoll MDIER MCMP2IE LL_HRTIM_DisableIT_CMP2\n
AnnaBridge 163:e59c8e839560 8938 * TIMxDIER CMP2IE LL_HRTIM_DisableIT_CMP2
AnnaBridge 163:e59c8e839560 8939 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8940 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8941 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8942 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8943 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8944 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8945 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8946 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8947 * @retval None
AnnaBridge 163:e59c8e839560 8948 */
AnnaBridge 163:e59c8e839560 8949 __STATIC_INLINE void LL_HRTIM_DisableIT_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8950 {
AnnaBridge 163:e59c8e839560 8951 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8952 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8953 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8954 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP2IE);
AnnaBridge 163:e59c8e839560 8955 }
AnnaBridge 163:e59c8e839560 8956
AnnaBridge 163:e59c8e839560 8957 /**
AnnaBridge 163:e59c8e839560 8958 * @brief Indicate whether the compare 2 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 8959 * @rmtoll MDIER MCMP2IE LL_HRTIM_IsEnabledIT_CMP2\n
AnnaBridge 163:e59c8e839560 8960 * TIMxDIER CMP2IE LL_HRTIM_IsEnabledIT_CMP2
AnnaBridge 163:e59c8e839560 8961 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8962 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8963 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8964 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8965 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8966 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8967 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8968 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8969 * @retval State of MCMP2IE/CMP2IE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 8970 */
AnnaBridge 163:e59c8e839560 8971 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8972 {
AnnaBridge 163:e59c8e839560 8973 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8974 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8975 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8976 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP2IE) == (HRTIM_MDIER_MCMP2IE));
AnnaBridge 163:e59c8e839560 8977 }
AnnaBridge 163:e59c8e839560 8978
AnnaBridge 163:e59c8e839560 8979 /**
AnnaBridge 163:e59c8e839560 8980 * @brief Enable the compare 3 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 8981 * @rmtoll MDIER MCMP3IE LL_HRTIM_EnableIT_CMP3\n
AnnaBridge 163:e59c8e839560 8982 * TIMxDIER CMP3IE LL_HRTIM_EnableIT_CMP3
AnnaBridge 163:e59c8e839560 8983 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 8984 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 8985 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 8986 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 8987 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 8988 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 8989 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 8990 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 8991 * @retval None
AnnaBridge 163:e59c8e839560 8992 */
AnnaBridge 163:e59c8e839560 8993 __STATIC_INLINE void LL_HRTIM_EnableIT_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 8994 {
AnnaBridge 163:e59c8e839560 8995 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 8996 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 8997 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 8998 SET_BIT(*pReg, HRTIM_MDIER_MCMP3IE);
AnnaBridge 163:e59c8e839560 8999 }
AnnaBridge 163:e59c8e839560 9000
AnnaBridge 163:e59c8e839560 9001 /**
AnnaBridge 163:e59c8e839560 9002 * @brief Disable the compare 3 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9003 * @rmtoll MDIER MCMP3IE LL_HRTIM_DisableIT_CMP3\n
AnnaBridge 163:e59c8e839560 9004 * TIMxDIER CMP3IE LL_HRTIM_DisableIT_CMP3
AnnaBridge 163:e59c8e839560 9005 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9006 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9007 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9008 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9009 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9010 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9011 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9012 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9013 * @retval None
AnnaBridge 163:e59c8e839560 9014 */
AnnaBridge 163:e59c8e839560 9015 __STATIC_INLINE void LL_HRTIM_DisableIT_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9016 {
AnnaBridge 163:e59c8e839560 9017 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9018 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9019 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9020 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP3IE);
AnnaBridge 163:e59c8e839560 9021 }
AnnaBridge 163:e59c8e839560 9022
AnnaBridge 163:e59c8e839560 9023 /**
AnnaBridge 163:e59c8e839560 9024 * @brief Indicate whether the compare 3 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9025 * @rmtoll MDIER MCMP3IE LL_HRTIM_IsEnabledIT_CMP3\n
AnnaBridge 163:e59c8e839560 9026 * TIMxDIER CMP3IE LL_HRTIM_IsEnabledIT_CMP3
AnnaBridge 163:e59c8e839560 9027 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9028 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9029 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9030 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9031 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9032 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9033 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9034 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9035 * @retval State of MCMP3IE/CMP3IE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9036 */
AnnaBridge 163:e59c8e839560 9037 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9038 {
AnnaBridge 163:e59c8e839560 9039 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9040 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9041 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9042 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP3IE) == (HRTIM_MDIER_MCMP3IE));
AnnaBridge 163:e59c8e839560 9043 }
AnnaBridge 163:e59c8e839560 9044
AnnaBridge 163:e59c8e839560 9045 /**
AnnaBridge 163:e59c8e839560 9046 * @brief Enable the compare 4 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9047 * @rmtoll MDIER MCMP4IE LL_HRTIM_EnableIT_CMP4\n
AnnaBridge 163:e59c8e839560 9048 * TIMxDIER CMP4IE LL_HRTIM_EnableIT_CMP4
AnnaBridge 163:e59c8e839560 9049 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9050 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9051 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9052 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9053 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9054 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9055 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9056 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9057 * @retval None
AnnaBridge 163:e59c8e839560 9058 */
AnnaBridge 163:e59c8e839560 9059 __STATIC_INLINE void LL_HRTIM_EnableIT_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9060 {
AnnaBridge 163:e59c8e839560 9061 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9062 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9063 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9064 SET_BIT(*pReg, HRTIM_MDIER_MCMP4IE);
AnnaBridge 163:e59c8e839560 9065 }
AnnaBridge 163:e59c8e839560 9066
AnnaBridge 163:e59c8e839560 9067 /**
AnnaBridge 163:e59c8e839560 9068 * @brief Disable the compare 4 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9069 * @rmtoll MDIER MCMP4IE LL_HRTIM_DisableIT_CMP4\n
AnnaBridge 163:e59c8e839560 9070 * TIMxDIER CMP4IE LL_HRTIM_DisableIT_CMP4
AnnaBridge 163:e59c8e839560 9071 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9072 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9073 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9074 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9075 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9076 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9077 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9078 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9079 * @retval None
AnnaBridge 163:e59c8e839560 9080 */
AnnaBridge 163:e59c8e839560 9081 __STATIC_INLINE void LL_HRTIM_DisableIT_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9082 {
AnnaBridge 163:e59c8e839560 9083 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9084 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9085 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9086 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP4IE);
AnnaBridge 163:e59c8e839560 9087 }
AnnaBridge 163:e59c8e839560 9088
AnnaBridge 163:e59c8e839560 9089 /**
AnnaBridge 163:e59c8e839560 9090 * @brief Indicate whether the compare 4 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9091 * @rmtoll MDIER MCMP4IE LL_HRTIM_IsEnabledIT_CMP4\n
AnnaBridge 163:e59c8e839560 9092 * TIMxDIER CMP4IE LL_HRTIM_IsEnabledIT_CMP4
AnnaBridge 163:e59c8e839560 9093 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9094 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9095 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9096 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9097 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9098 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9099 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9100 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9101 * @retval State of MCMP4IE/CMP4IE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9102 */
AnnaBridge 163:e59c8e839560 9103 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9104 {
AnnaBridge 163:e59c8e839560 9105 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9106 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9107 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9108 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP4IE) == (HRTIM_MDIER_MCMP4IE));
AnnaBridge 163:e59c8e839560 9109 }
AnnaBridge 163:e59c8e839560 9110
AnnaBridge 163:e59c8e839560 9111 /**
AnnaBridge 163:e59c8e839560 9112 * @brief Enable the capture 1 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9113 * @rmtoll TIMxDIER CPT1IE LL_HRTIM_EnableIT_CPT1
AnnaBridge 163:e59c8e839560 9114 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9115 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9116 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9117 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9118 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9119 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9120 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9121 * @retval None
AnnaBridge 163:e59c8e839560 9122 */
AnnaBridge 163:e59c8e839560 9123 __STATIC_INLINE void LL_HRTIM_EnableIT_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9124 {
AnnaBridge 163:e59c8e839560 9125 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9126 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9127 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9128 SET_BIT(*pReg, HRTIM_TIMDIER_CPT1IE);
AnnaBridge 163:e59c8e839560 9129 }
AnnaBridge 163:e59c8e839560 9130
AnnaBridge 163:e59c8e839560 9131 /**
AnnaBridge 163:e59c8e839560 9132 * @brief Enable the capture 1 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9133 * @rmtoll TIMxDIER CPT1IE LL_HRTIM_DisableIT_CPT1
AnnaBridge 163:e59c8e839560 9134 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9135 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9136 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9137 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9138 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9139 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9140 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9141 * @retval None
AnnaBridge 163:e59c8e839560 9142 */
AnnaBridge 163:e59c8e839560 9143 __STATIC_INLINE void LL_HRTIM_DisableIT_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9144 {
AnnaBridge 163:e59c8e839560 9145 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9146 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9147 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9148 CLEAR_BIT(*pReg, HRTIM_TIMDIER_CPT1IE);
AnnaBridge 163:e59c8e839560 9149 }
AnnaBridge 163:e59c8e839560 9150
AnnaBridge 163:e59c8e839560 9151 /**
AnnaBridge 163:e59c8e839560 9152 * @brief Indicate whether the capture 1 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9153 * @rmtoll TIMxDIER CPT1IE LL_HRTIM_IsEnabledIT_CPT1
AnnaBridge 163:e59c8e839560 9154 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9155 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9156 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9157 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9158 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9159 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9160 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9161 * @retval State of CPT1IE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9162 */
AnnaBridge 163:e59c8e839560 9163 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9164 {
AnnaBridge 163:e59c8e839560 9165 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9166 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9167 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9168 return (READ_BIT(*pReg, HRTIM_TIMDIER_CPT1IE) == (HRTIM_TIMDIER_CPT1IE));
AnnaBridge 163:e59c8e839560 9169 }
AnnaBridge 163:e59c8e839560 9170
AnnaBridge 163:e59c8e839560 9171 /**
AnnaBridge 163:e59c8e839560 9172 * @brief Enable the capture 2 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9173 * @rmtoll TIMxDIER CPT2IE LL_HRTIM_EnableIT_CPT2
AnnaBridge 163:e59c8e839560 9174 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9175 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9176 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9177 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9178 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9179 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9180 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9181 * @retval None
AnnaBridge 163:e59c8e839560 9182 */
AnnaBridge 163:e59c8e839560 9183 __STATIC_INLINE void LL_HRTIM_EnableIT_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9184 {
AnnaBridge 163:e59c8e839560 9185 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9186 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9187 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9188 SET_BIT(*pReg, HRTIM_TIMDIER_CPT2IE);
AnnaBridge 163:e59c8e839560 9189 }
AnnaBridge 163:e59c8e839560 9190
AnnaBridge 163:e59c8e839560 9191 /**
AnnaBridge 163:e59c8e839560 9192 * @brief Enable the capture 2 interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9193 * @rmtoll TIMxDIER CPT2IE LL_HRTIM_DisableIT_CPT2
AnnaBridge 163:e59c8e839560 9194 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9195 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9196 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9197 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9198 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9199 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9200 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9201 * @retval None
AnnaBridge 163:e59c8e839560 9202 */
AnnaBridge 163:e59c8e839560 9203 __STATIC_INLINE void LL_HRTIM_DisableIT_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9204 {
AnnaBridge 163:e59c8e839560 9205 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9206 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9207 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9208 CLEAR_BIT(*pReg, HRTIM_TIMDIER_CPT2IE);
AnnaBridge 163:e59c8e839560 9209 }
AnnaBridge 163:e59c8e839560 9210
AnnaBridge 163:e59c8e839560 9211 /**
AnnaBridge 163:e59c8e839560 9212 * @brief Indicate whether the capture 2 interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9213 * @rmtoll TIMxDIER CPT2IE LL_HRTIM_IsEnabledIT_CPT2
AnnaBridge 163:e59c8e839560 9214 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9215 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9216 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9217 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9218 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9219 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9220 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9221 * @retval State of CPT2IE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9222 */
AnnaBridge 163:e59c8e839560 9223 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9224 {
AnnaBridge 163:e59c8e839560 9225 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9226 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9227 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9228 return (READ_BIT(*pReg, HRTIM_TIMDIER_CPT2IE) == (HRTIM_TIMDIER_CPT2IE));
AnnaBridge 163:e59c8e839560 9229 }
AnnaBridge 163:e59c8e839560 9230
AnnaBridge 163:e59c8e839560 9231 /**
AnnaBridge 163:e59c8e839560 9232 * @brief Enable the output 1 set interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9233 * @rmtoll TIMxDIER SET1IE LL_HRTIM_EnableIT_SET1
AnnaBridge 163:e59c8e839560 9234 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9235 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9236 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9237 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9238 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9239 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9240 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9241 * @retval None
AnnaBridge 163:e59c8e839560 9242 */
AnnaBridge 163:e59c8e839560 9243 __STATIC_INLINE void LL_HRTIM_EnableIT_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9244 {
AnnaBridge 163:e59c8e839560 9245 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9246 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9247 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9248 SET_BIT(*pReg, HRTIM_TIMDIER_SET1IE);
AnnaBridge 163:e59c8e839560 9249 }
AnnaBridge 163:e59c8e839560 9250
AnnaBridge 163:e59c8e839560 9251 /**
AnnaBridge 163:e59c8e839560 9252 * @brief Disable the output 1 set interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9253 * @rmtoll TIMxDIER SET1IE LL_HRTIM_DisableIT_SET1
AnnaBridge 163:e59c8e839560 9254 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9255 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9256 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9257 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9258 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9259 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9260 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9261 * @retval None
AnnaBridge 163:e59c8e839560 9262 */
AnnaBridge 163:e59c8e839560 9263 __STATIC_INLINE void LL_HRTIM_DisableIT_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9264 {
AnnaBridge 163:e59c8e839560 9265 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9266 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9267 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9268 CLEAR_BIT(*pReg, HRTIM_TIMDIER_SET1IE);
AnnaBridge 163:e59c8e839560 9269 }
AnnaBridge 163:e59c8e839560 9270
AnnaBridge 163:e59c8e839560 9271 /**
AnnaBridge 163:e59c8e839560 9272 * @brief Indicate whether the output 1 set interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9273 * @rmtoll TIMxDIER SET1IE LL_HRTIM_IsEnabledIT_SET1
AnnaBridge 163:e59c8e839560 9274 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9275 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9276 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9277 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9278 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9279 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9280 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9281 * @retval State of SET1xIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9282 */
AnnaBridge 163:e59c8e839560 9283 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9284 {
AnnaBridge 163:e59c8e839560 9285 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9286 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9287 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9288 return (READ_BIT(*pReg, HRTIM_TIMDIER_SET1IE) == (HRTIM_TIMDIER_SET1IE));
AnnaBridge 163:e59c8e839560 9289 }
AnnaBridge 163:e59c8e839560 9290
AnnaBridge 163:e59c8e839560 9291 /**
AnnaBridge 163:e59c8e839560 9292 * @brief Enable the output 1 reset interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9293 * @rmtoll TIMxDIER RST1IE LL_HRTIM_EnableIT_RST1
AnnaBridge 163:e59c8e839560 9294 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9295 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9296 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9297 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9298 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9299 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9300 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9301 * @retval None
AnnaBridge 163:e59c8e839560 9302 */
AnnaBridge 163:e59c8e839560 9303 __STATIC_INLINE void LL_HRTIM_EnableIT_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9304 {
AnnaBridge 163:e59c8e839560 9305 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9306 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9307 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9308 SET_BIT(*pReg, HRTIM_TIMDIER_RST1IE);
AnnaBridge 163:e59c8e839560 9309 }
AnnaBridge 163:e59c8e839560 9310
AnnaBridge 163:e59c8e839560 9311 /**
AnnaBridge 163:e59c8e839560 9312 * @brief Disable the output 1 reset interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9313 * @rmtoll TIMxDIER RST1IE LL_HRTIM_DisableIT_RST1
AnnaBridge 163:e59c8e839560 9314 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9315 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9316 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9317 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9318 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9319 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9320 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9321 * @retval None
AnnaBridge 163:e59c8e839560 9322 */
AnnaBridge 163:e59c8e839560 9323 __STATIC_INLINE void LL_HRTIM_DisableIT_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9324 {
AnnaBridge 163:e59c8e839560 9325 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9326 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9327 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9328 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RST1IE);
AnnaBridge 163:e59c8e839560 9329 }
AnnaBridge 163:e59c8e839560 9330
AnnaBridge 163:e59c8e839560 9331 /**
AnnaBridge 163:e59c8e839560 9332 * @brief Indicate whether the output 1 reset interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9333 * @rmtoll TIMxDIER RST1IE LL_HRTIM_IsEnabledIT_RST1
AnnaBridge 163:e59c8e839560 9334 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9335 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9336 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9337 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9338 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9339 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9340 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9341 * @retval State of RST1xIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9342 */
AnnaBridge 163:e59c8e839560 9343 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9344 {
AnnaBridge 163:e59c8e839560 9345 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9346 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9347 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9348 return (READ_BIT(*pReg, HRTIM_TIMDIER_RST1IE) == (HRTIM_TIMDIER_RST1IE));
AnnaBridge 163:e59c8e839560 9349 }
AnnaBridge 163:e59c8e839560 9350
AnnaBridge 163:e59c8e839560 9351 /**
AnnaBridge 163:e59c8e839560 9352 * @brief Enable the output 2 set interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9353 * @rmtoll TIMxDIER SET2IE LL_HRTIM_EnableIT_SET2
AnnaBridge 163:e59c8e839560 9354 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9355 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9356 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9357 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9358 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9359 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9360 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9361 * @retval None
AnnaBridge 163:e59c8e839560 9362 */
AnnaBridge 163:e59c8e839560 9363 __STATIC_INLINE void LL_HRTIM_EnableIT_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9364 {
AnnaBridge 163:e59c8e839560 9365 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9366 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9367 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9368 SET_BIT(*pReg, HRTIM_TIMDIER_SET2IE);
AnnaBridge 163:e59c8e839560 9369 }
AnnaBridge 163:e59c8e839560 9370
AnnaBridge 163:e59c8e839560 9371 /**
AnnaBridge 163:e59c8e839560 9372 * @brief Disable the output 2 set interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9373 * @rmtoll TIMxDIER SET2IE LL_HRTIM_DisableIT_SET2
AnnaBridge 163:e59c8e839560 9374 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9375 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9376 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9377 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9378 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9379 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9380 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9381 * @retval None
AnnaBridge 163:e59c8e839560 9382 */
AnnaBridge 163:e59c8e839560 9383 __STATIC_INLINE void LL_HRTIM_DisableIT_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9384 {
AnnaBridge 163:e59c8e839560 9385 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9386 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9387 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9388 CLEAR_BIT(*pReg, HRTIM_TIMDIER_SET2IE);
AnnaBridge 163:e59c8e839560 9389 }
AnnaBridge 163:e59c8e839560 9390
AnnaBridge 163:e59c8e839560 9391 /**
AnnaBridge 163:e59c8e839560 9392 * @brief Indicate whether the output 2 set interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9393 * @rmtoll TIMxDIER SET2IE LL_HRTIM_IsEnabledIT_SET2
AnnaBridge 163:e59c8e839560 9394 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9395 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9396 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9397 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9398 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9399 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9400 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9401 * @retval State of SET2xIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9402 */
AnnaBridge 163:e59c8e839560 9403 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9404 {
AnnaBridge 163:e59c8e839560 9405 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9406 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9407 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9408 return (READ_BIT(*pReg, HRTIM_TIMDIER_SET2IE) == (HRTIM_TIMDIER_SET2IE));
AnnaBridge 163:e59c8e839560 9409 }
AnnaBridge 163:e59c8e839560 9410
AnnaBridge 163:e59c8e839560 9411 /**
AnnaBridge 163:e59c8e839560 9412 * @brief Enable the output 2 reset interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9413 * @rmtoll TIMxDIER RST2IE LL_HRTIM_EnableIT_RST2
AnnaBridge 163:e59c8e839560 9414 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9415 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9416 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9417 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9418 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9419 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9420 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9421 * @retval None
AnnaBridge 163:e59c8e839560 9422 */
AnnaBridge 163:e59c8e839560 9423 __STATIC_INLINE void LL_HRTIM_EnableIT_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9424 {
AnnaBridge 163:e59c8e839560 9425 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9426 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9427 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9428 SET_BIT(*pReg, HRTIM_TIMDIER_RST2IE);
AnnaBridge 163:e59c8e839560 9429 }
AnnaBridge 163:e59c8e839560 9430
AnnaBridge 163:e59c8e839560 9431 /**
AnnaBridge 163:e59c8e839560 9432 * @brief Disable the output 2 reset interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9433 * @rmtoll TIMxDIER RST2IE LL_HRTIM_DisableIT_RST2
AnnaBridge 163:e59c8e839560 9434 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9435 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9436 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9437 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9438 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9439 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9440 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9441 * @retval None
AnnaBridge 163:e59c8e839560 9442 */
AnnaBridge 163:e59c8e839560 9443 __STATIC_INLINE void LL_HRTIM_DisableIT_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9444 {
AnnaBridge 163:e59c8e839560 9445 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9446 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9447 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9448 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RST2IE);
AnnaBridge 163:e59c8e839560 9449 }
AnnaBridge 163:e59c8e839560 9450
AnnaBridge 163:e59c8e839560 9451 /**
AnnaBridge 163:e59c8e839560 9452 * @brief Indicate whether the output 2 reset LL_HRTIM_IsEnabledIT_RST2 is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9453 * @rmtoll TIMxDIER RST2IE LL_HRTIM_DisableIT_RST2
AnnaBridge 163:e59c8e839560 9454 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9455 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9456 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9457 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9458 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9459 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9460 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9461 * @retval State of RST2xIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9462 */
AnnaBridge 163:e59c8e839560 9463 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9464 {
AnnaBridge 163:e59c8e839560 9465 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9466 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9467 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9468 return (READ_BIT(*pReg, HRTIM_TIMDIER_RST2IE) == (HRTIM_TIMDIER_RST2IE));
AnnaBridge 163:e59c8e839560 9469 }
AnnaBridge 163:e59c8e839560 9470
AnnaBridge 163:e59c8e839560 9471 /**
AnnaBridge 163:e59c8e839560 9472 * @brief Enable the reset/roll-over interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9473 * @rmtoll TIMxDIER RSTIE LL_HRTIM_EnableIT_RST
AnnaBridge 163:e59c8e839560 9474 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9475 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9476 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9477 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9478 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9479 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9480 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9481 * @retval None
AnnaBridge 163:e59c8e839560 9482 */
AnnaBridge 163:e59c8e839560 9483 __STATIC_INLINE void LL_HRTIM_EnableIT_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9484 {
AnnaBridge 163:e59c8e839560 9485 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9486 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9487 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9488 SET_BIT(*pReg, HRTIM_TIMDIER_RSTIE);
AnnaBridge 163:e59c8e839560 9489 }
AnnaBridge 163:e59c8e839560 9490
AnnaBridge 163:e59c8e839560 9491 /**
AnnaBridge 163:e59c8e839560 9492 * @brief Disable the reset/roll-over interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9493 * @rmtoll TIMxDIER RSTIE LL_HRTIM_DisableIT_RST
AnnaBridge 163:e59c8e839560 9494 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9495 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9496 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9497 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9498 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9499 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9500 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9501 * @retval None
AnnaBridge 163:e59c8e839560 9502 */
AnnaBridge 163:e59c8e839560 9503 __STATIC_INLINE void LL_HRTIM_DisableIT_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9504 {
AnnaBridge 163:e59c8e839560 9505 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9506 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9507 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9508 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RSTIE);
AnnaBridge 163:e59c8e839560 9509 }
AnnaBridge 163:e59c8e839560 9510
AnnaBridge 163:e59c8e839560 9511 /**
AnnaBridge 163:e59c8e839560 9512 * @brief Indicate whether the reset/roll-over interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9513 * @rmtoll TIMxDIER RSTIE LL_HRTIM_IsEnabledIT_RST
AnnaBridge 163:e59c8e839560 9514 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9515 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9516 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9517 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9518 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9519 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9520 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9521 * @retval State of RSTIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9522 */
AnnaBridge 163:e59c8e839560 9523 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9524 {
AnnaBridge 163:e59c8e839560 9525 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9526 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9527 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9528 return (READ_BIT(*pReg, HRTIM_TIMDIER_RSTIE) == (HRTIM_TIMDIER_RSTIE));
AnnaBridge 163:e59c8e839560 9529 }
AnnaBridge 163:e59c8e839560 9530
AnnaBridge 163:e59c8e839560 9531 /**
AnnaBridge 163:e59c8e839560 9532 * @brief Enable the delayed protection interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9533 * @rmtoll TIMxDIER DLYPRTIE LL_HRTIM_EnableIT_DLYPRT
AnnaBridge 163:e59c8e839560 9534 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9535 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9536 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9537 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9538 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9539 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9540 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9541 * @retval None
AnnaBridge 163:e59c8e839560 9542 */
AnnaBridge 163:e59c8e839560 9543 __STATIC_INLINE void LL_HRTIM_EnableIT_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9544 {
AnnaBridge 163:e59c8e839560 9545 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9546 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9547 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9548 SET_BIT(*pReg, HRTIM_TIMDIER_DLYPRTIE);
AnnaBridge 163:e59c8e839560 9549 }
AnnaBridge 163:e59c8e839560 9550
AnnaBridge 163:e59c8e839560 9551 /**
AnnaBridge 163:e59c8e839560 9552 * @brief Disable the delayed protection interrupt for a given timer.
AnnaBridge 163:e59c8e839560 9553 * @rmtoll TIMxDIER DLYPRTIE LL_HRTIM_DisableIT_DLYPRT
AnnaBridge 163:e59c8e839560 9554 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9555 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9556 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9557 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9558 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9559 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9560 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9561 * @retval None
AnnaBridge 163:e59c8e839560 9562 */
AnnaBridge 163:e59c8e839560 9563 __STATIC_INLINE void LL_HRTIM_DisableIT_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9564 {
AnnaBridge 163:e59c8e839560 9565 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9566 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9567 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9568 CLEAR_BIT(*pReg, HRTIM_TIMDIER_DLYPRTIE);
AnnaBridge 163:e59c8e839560 9569 }
AnnaBridge 163:e59c8e839560 9570
AnnaBridge 163:e59c8e839560 9571 /**
AnnaBridge 163:e59c8e839560 9572 * @brief Indicate whether the delayed protection interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9573 * @rmtoll TIMxDIER DLYPRTIE LL_HRTIM_IsEnabledIT_DLYPRT
AnnaBridge 163:e59c8e839560 9574 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9575 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9576 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9577 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9578 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9579 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9580 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9581 * @retval State of DLYPRTIE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9582 */
AnnaBridge 163:e59c8e839560 9583 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledIT_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9584 {
AnnaBridge 163:e59c8e839560 9585 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9586 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9587 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9588 return (READ_BIT(*pReg, HRTIM_TIMDIER_DLYPRTIE) == (HRTIM_TIMDIER_DLYPRTIE));
AnnaBridge 163:e59c8e839560 9589 }
AnnaBridge 163:e59c8e839560 9590
AnnaBridge 163:e59c8e839560 9591 /**
AnnaBridge 163:e59c8e839560 9592 * @}
AnnaBridge 163:e59c8e839560 9593 */
AnnaBridge 163:e59c8e839560 9594
AnnaBridge 163:e59c8e839560 9595 /** @defgroup HRTIM_EF_DMA_Management DMA_Management
AnnaBridge 163:e59c8e839560 9596 * @{
AnnaBridge 163:e59c8e839560 9597 */
AnnaBridge 163:e59c8e839560 9598
AnnaBridge 163:e59c8e839560 9599 /**
AnnaBridge 163:e59c8e839560 9600 * @brief Enable the synchronization input DMA request.
AnnaBridge 163:e59c8e839560 9601 * @rmtoll MDIER SYNCDE LL_HRTIM_EnableDMAReq_SYNC
AnnaBridge 163:e59c8e839560 9602 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9603 * @retval None
AnnaBridge 163:e59c8e839560 9604 */
AnnaBridge 163:e59c8e839560 9605 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 9606 {
AnnaBridge 163:e59c8e839560 9607 SET_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCDE);
AnnaBridge 163:e59c8e839560 9608 }
AnnaBridge 163:e59c8e839560 9609
AnnaBridge 163:e59c8e839560 9610 /**
AnnaBridge 163:e59c8e839560 9611 * @brief Disable the synchronization input DMA request
AnnaBridge 163:e59c8e839560 9612 * @rmtoll MDIER SYNCDE LL_HRTIM_DisableDMAReq_SYNC
AnnaBridge 163:e59c8e839560 9613 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9614 * @retval None
AnnaBridge 163:e59c8e839560 9615 */
AnnaBridge 163:e59c8e839560 9616 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 9617 {
AnnaBridge 163:e59c8e839560 9618 CLEAR_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCDE);
AnnaBridge 163:e59c8e839560 9619 }
AnnaBridge 163:e59c8e839560 9620
AnnaBridge 163:e59c8e839560 9621 /**
AnnaBridge 163:e59c8e839560 9622 * @brief Indicate whether the synchronization input DMA request is enabled.
AnnaBridge 163:e59c8e839560 9623 * @rmtoll MDIER SYNCDE LL_HRTIM_IsEnabledDMAReq_SYNC
AnnaBridge 163:e59c8e839560 9624 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9625 * @retval State of SYNCDE bit in HRTIM_MDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9626 */
AnnaBridge 163:e59c8e839560 9627 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_SYNC(HRTIM_TypeDef *HRTIMx)
AnnaBridge 163:e59c8e839560 9628 {
AnnaBridge 163:e59c8e839560 9629 return (READ_BIT(HRTIMx->sMasterRegs.MDIER, HRTIM_MDIER_SYNCDE) == (HRTIM_MDIER_SYNCDE));
AnnaBridge 163:e59c8e839560 9630 }
AnnaBridge 163:e59c8e839560 9631
AnnaBridge 163:e59c8e839560 9632 /**
AnnaBridge 163:e59c8e839560 9633 * @brief Enable the update DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9634 * @rmtoll MDIER MUPDDE LL_HRTIM_EnableDMAReq_UPDATE\n
AnnaBridge 163:e59c8e839560 9635 * TIMxDIER UPDDE LL_HRTIM_EnableDMAReq_UPDATE
AnnaBridge 163:e59c8e839560 9636 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9637 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9638 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9639 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9640 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9641 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9642 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9643 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9644 * @retval None
AnnaBridge 163:e59c8e839560 9645 */
AnnaBridge 163:e59c8e839560 9646 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9647 {
AnnaBridge 163:e59c8e839560 9648 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9649 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9650 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9651 SET_BIT(*pReg, HRTIM_MDIER_MUPDDE);
AnnaBridge 163:e59c8e839560 9652 }
AnnaBridge 163:e59c8e839560 9653
AnnaBridge 163:e59c8e839560 9654 /**
AnnaBridge 163:e59c8e839560 9655 * @brief Disable the update DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9656 * @rmtoll MDIER MUPDDE LL_HRTIM_DisableDMAReq_UPDATE\n
AnnaBridge 163:e59c8e839560 9657 * TIMxDIER UPDDE LL_HRTIM_DisableDMAReq_UPDATE
AnnaBridge 163:e59c8e839560 9658 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9659 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9660 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9661 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9662 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9663 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9664 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9665 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9666 * @retval None
AnnaBridge 163:e59c8e839560 9667 */
AnnaBridge 163:e59c8e839560 9668 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9669 {
AnnaBridge 163:e59c8e839560 9670 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9671 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9672 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9673 CLEAR_BIT(*pReg, HRTIM_MDIER_MUPDDE);
AnnaBridge 163:e59c8e839560 9674 }
AnnaBridge 163:e59c8e839560 9675
AnnaBridge 163:e59c8e839560 9676 /**
AnnaBridge 163:e59c8e839560 9677 * @brief Indicate whether the update DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9678 * @rmtoll MDIER MUPDDE LL_HRTIM_IsEnabledDMAReq_UPDATE\n
AnnaBridge 163:e59c8e839560 9679 * TIMxDIER UPDDE LL_HRTIM_IsEnabledDMAReq_UPDATE
AnnaBridge 163:e59c8e839560 9680 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9681 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9682 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9683 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9684 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9685 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9686 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9687 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9688 * @retval State of MUPDDE/UPDDE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9689 */
AnnaBridge 163:e59c8e839560 9690 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_UPDATE(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9691 {
AnnaBridge 163:e59c8e839560 9692 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9693 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9694 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9695 return (READ_BIT(*pReg, HRTIM_MDIER_MUPDDE) == (HRTIM_MDIER_MUPDDE));
AnnaBridge 163:e59c8e839560 9696 }
AnnaBridge 163:e59c8e839560 9697
AnnaBridge 163:e59c8e839560 9698 /**
AnnaBridge 163:e59c8e839560 9699 * @brief Enable the repetition DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9700 * @rmtoll MDIER MREPDE LL_HRTIM_EnableDMAReq_REP\n
AnnaBridge 163:e59c8e839560 9701 * TIMxDIER REPDE LL_HRTIM_EnableDMAReq_REP
AnnaBridge 163:e59c8e839560 9702 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9703 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9704 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9705 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9706 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9707 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9708 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9709 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9710 * @retval None
AnnaBridge 163:e59c8e839560 9711 */
AnnaBridge 163:e59c8e839560 9712 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9713 {
AnnaBridge 163:e59c8e839560 9714 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9715 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9716 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9717 SET_BIT(*pReg, HRTIM_MDIER_MREPDE);
AnnaBridge 163:e59c8e839560 9718 }
AnnaBridge 163:e59c8e839560 9719
AnnaBridge 163:e59c8e839560 9720 /**
AnnaBridge 163:e59c8e839560 9721 * @brief Disable the repetition DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9722 * @rmtoll MDIER MREPDE LL_HRTIM_DisableDMAReq_REP\n
AnnaBridge 163:e59c8e839560 9723 * TIMxDIER REPDE LL_HRTIM_DisableDMAReq_REP
AnnaBridge 163:e59c8e839560 9724 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9725 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9726 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9727 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9728 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9729 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9730 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9731 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9732 * @retval None
AnnaBridge 163:e59c8e839560 9733 */
AnnaBridge 163:e59c8e839560 9734 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9735 {
AnnaBridge 163:e59c8e839560 9736 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9737 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9738 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9739 CLEAR_BIT(*pReg, HRTIM_MDIER_MREPDE);
AnnaBridge 163:e59c8e839560 9740 }
AnnaBridge 163:e59c8e839560 9741
AnnaBridge 163:e59c8e839560 9742 /**
AnnaBridge 163:e59c8e839560 9743 * @brief Indicate whether the repetition DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9744 * @rmtoll MDIER MREPDE LL_HRTIM_IsEnabledDMAReq_REP\n
AnnaBridge 163:e59c8e839560 9745 * TIMxDIER REPDE LL_HRTIM_IsEnabledDMAReq_REP
AnnaBridge 163:e59c8e839560 9746 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9747 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9748 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9749 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9750 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9751 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9752 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9753 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9754 * @retval State of MREPDE/REPDE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9755 */
AnnaBridge 163:e59c8e839560 9756 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_REP(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9757 {
AnnaBridge 163:e59c8e839560 9758 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9759 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9760 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9761 return (READ_BIT(*pReg, HRTIM_MDIER_MREPDE) == (HRTIM_MDIER_MREPDE));
AnnaBridge 163:e59c8e839560 9762 }
AnnaBridge 163:e59c8e839560 9763
AnnaBridge 163:e59c8e839560 9764 /**
AnnaBridge 163:e59c8e839560 9765 * @brief Enable the compare 1 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9766 * @rmtoll MDIER MCMP1DE LL_HRTIM_EnableDMAReq_CMP1\n
AnnaBridge 163:e59c8e839560 9767 * TIMxDIER CMP1DE LL_HRTIM_EnableDMAReq_CMP1
AnnaBridge 163:e59c8e839560 9768 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9769 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9770 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9771 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9772 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9773 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9774 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9775 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9776 * @retval None
AnnaBridge 163:e59c8e839560 9777 */
AnnaBridge 163:e59c8e839560 9778 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9779 {
AnnaBridge 163:e59c8e839560 9780 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9781 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9782 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9783 SET_BIT(*pReg, HRTIM_MDIER_MCMP1DE);
AnnaBridge 163:e59c8e839560 9784 }
AnnaBridge 163:e59c8e839560 9785
AnnaBridge 163:e59c8e839560 9786 /**
AnnaBridge 163:e59c8e839560 9787 * @brief Disable the compare 1 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9788 * @rmtoll MDIER MCMP1DE LL_HRTIM_DisableDMAReq_CMP1\n
AnnaBridge 163:e59c8e839560 9789 * TIMxDIER CMP1DE LL_HRTIM_DisableDMAReq_CMP1
AnnaBridge 163:e59c8e839560 9790 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9791 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9792 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9793 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9794 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9795 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9796 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9797 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9798 * @retval None
AnnaBridge 163:e59c8e839560 9799 */
AnnaBridge 163:e59c8e839560 9800 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9801 {
AnnaBridge 163:e59c8e839560 9802 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9803 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9804 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9805 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP1DE);
AnnaBridge 163:e59c8e839560 9806 }
AnnaBridge 163:e59c8e839560 9807
AnnaBridge 163:e59c8e839560 9808 /**
AnnaBridge 163:e59c8e839560 9809 * @brief Indicate whether the compare 1 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9810 * @rmtoll MDIER MCMP1DE LL_HRTIM_IsEnabledDMAReq_CMP1\n
AnnaBridge 163:e59c8e839560 9811 * TIMxDIER CMP1DE LL_HRTIM_IsEnabledDMAReq_CMP1
AnnaBridge 163:e59c8e839560 9812 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9813 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9814 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9815 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9816 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9817 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9818 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9819 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9820 * @retval State of MCMP1DE/CMP1DE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9821 */
AnnaBridge 163:e59c8e839560 9822 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CMP1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9823 {
AnnaBridge 163:e59c8e839560 9824 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9825 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9826 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9827 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP1DE) == (HRTIM_MDIER_MCMP1DE));
AnnaBridge 163:e59c8e839560 9828 }
AnnaBridge 163:e59c8e839560 9829
AnnaBridge 163:e59c8e839560 9830 /**
AnnaBridge 163:e59c8e839560 9831 * @brief Enable the compare 2 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9832 * @rmtoll MDIER MCMP2DE LL_HRTIM_EnableDMAReq_CMP2\n
AnnaBridge 163:e59c8e839560 9833 * TIMxDIER CMP2DE LL_HRTIM_EnableDMAReq_CMP2
AnnaBridge 163:e59c8e839560 9834 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9835 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9836 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9837 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9838 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9839 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9840 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9841 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9842 * @retval None
AnnaBridge 163:e59c8e839560 9843 */
AnnaBridge 163:e59c8e839560 9844 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9845 {
AnnaBridge 163:e59c8e839560 9846 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9847 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9848 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9849 SET_BIT(*pReg, HRTIM_MDIER_MCMP2DE);
AnnaBridge 163:e59c8e839560 9850 }
AnnaBridge 163:e59c8e839560 9851
AnnaBridge 163:e59c8e839560 9852 /**
AnnaBridge 163:e59c8e839560 9853 * @brief Disable the compare 2 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9854 * @rmtoll MDIER MCMP2DE LL_HRTIM_DisableDMAReq_CMP2\n
AnnaBridge 163:e59c8e839560 9855 * TIMxDIER CMP2DE LL_HRTIM_DisableDMAReq_CMP2
AnnaBridge 163:e59c8e839560 9856 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9857 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9858 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9859 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9860 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9861 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9862 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9863 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9864 * @retval None
AnnaBridge 163:e59c8e839560 9865 */
AnnaBridge 163:e59c8e839560 9866 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9867 {
AnnaBridge 163:e59c8e839560 9868 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9869 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9870 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9871 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP2DE);
AnnaBridge 163:e59c8e839560 9872 }
AnnaBridge 163:e59c8e839560 9873
AnnaBridge 163:e59c8e839560 9874 /**
AnnaBridge 163:e59c8e839560 9875 * @brief Indicate whether the compare 2 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9876 * @rmtoll MDIER MCMP2DE LL_HRTIM_IsEnabledDMAReq_CMP2\n
AnnaBridge 163:e59c8e839560 9877 * TIMxDIER CMP2DE LL_HRTIM_IsEnabledDMAReq_CMP2
AnnaBridge 163:e59c8e839560 9878 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9879 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9880 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9881 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9882 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9883 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9884 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9885 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9886 * @retval State of MCMP2DE/CMP2DE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9887 */
AnnaBridge 163:e59c8e839560 9888 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CMP2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9889 {
AnnaBridge 163:e59c8e839560 9890 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9891 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9892 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9893 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP2DE) == (HRTIM_MDIER_MCMP2DE));
AnnaBridge 163:e59c8e839560 9894 }
AnnaBridge 163:e59c8e839560 9895
AnnaBridge 163:e59c8e839560 9896 /**
AnnaBridge 163:e59c8e839560 9897 * @brief Enable the compare 3 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9898 * @rmtoll MDIER MCMP3DE LL_HRTIM_EnableDMAReq_CMP3\n
AnnaBridge 163:e59c8e839560 9899 * TIMxDIER CMP3DE LL_HRTIM_EnableDMAReq_CMP3
AnnaBridge 163:e59c8e839560 9900 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9901 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9902 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9903 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9904 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9905 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9906 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9907 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9908 * @retval None
AnnaBridge 163:e59c8e839560 9909 */
AnnaBridge 163:e59c8e839560 9910 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9911 {
AnnaBridge 163:e59c8e839560 9912 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9913 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9914 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9915 SET_BIT(*pReg, HRTIM_MDIER_MCMP3DE);
AnnaBridge 163:e59c8e839560 9916 }
AnnaBridge 163:e59c8e839560 9917
AnnaBridge 163:e59c8e839560 9918 /**
AnnaBridge 163:e59c8e839560 9919 * @brief Disable the compare 3 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9920 * @rmtoll MDIER MCMP3DE LL_HRTIM_DisableDMAReq_CMP3\n
AnnaBridge 163:e59c8e839560 9921 * TIMxDIER CMP3DE LL_HRTIM_DisableDMAReq_CMP3
AnnaBridge 163:e59c8e839560 9922 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9923 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9924 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9925 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9926 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9927 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9928 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9929 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9930 * @retval None
AnnaBridge 163:e59c8e839560 9931 */
AnnaBridge 163:e59c8e839560 9932 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9933 {
AnnaBridge 163:e59c8e839560 9934 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9935 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9936 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9937 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP3DE);
AnnaBridge 163:e59c8e839560 9938 }
AnnaBridge 163:e59c8e839560 9939
AnnaBridge 163:e59c8e839560 9940 /**
AnnaBridge 163:e59c8e839560 9941 * @brief Indicate whether the compare 3 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 9942 * @rmtoll MDIER MCMP3DE LL_HRTIM_IsEnabledDMAReq_CMP3\n
AnnaBridge 163:e59c8e839560 9943 * TIMxDIER CMP3DE LL_HRTIM_IsEnabledDMAReq_CMP3
AnnaBridge 163:e59c8e839560 9944 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9945 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9946 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9947 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9948 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9949 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9950 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9951 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9952 * @retval State of MCMP3DE/CMP3DE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 9953 */
AnnaBridge 163:e59c8e839560 9954 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CMP3(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9955 {
AnnaBridge 163:e59c8e839560 9956 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9957 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9958 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9959 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP3DE) == (HRTIM_MDIER_MCMP3DE));
AnnaBridge 163:e59c8e839560 9960 }
AnnaBridge 163:e59c8e839560 9961
AnnaBridge 163:e59c8e839560 9962 /**
AnnaBridge 163:e59c8e839560 9963 * @brief Enable the compare 4 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9964 * @rmtoll MDIER MCMP4DE LL_HRTIM_EnableDMAReq_CMP4\n
AnnaBridge 163:e59c8e839560 9965 * TIMxDIER CMP4DE LL_HRTIM_EnableDMAReq_CMP4
AnnaBridge 163:e59c8e839560 9966 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9967 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9968 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9969 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9970 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9971 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9972 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9973 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9974 * @retval None
AnnaBridge 163:e59c8e839560 9975 */
AnnaBridge 163:e59c8e839560 9976 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9977 {
AnnaBridge 163:e59c8e839560 9978 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 9979 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 9980 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 9981 SET_BIT(*pReg, HRTIM_MDIER_MCMP4DE);
AnnaBridge 163:e59c8e839560 9982 }
AnnaBridge 163:e59c8e839560 9983
AnnaBridge 163:e59c8e839560 9984 /**
AnnaBridge 163:e59c8e839560 9985 * @brief Disable the compare 4 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 9986 * @rmtoll MDIER MCMP4DE LL_HRTIM_DisableDMAReq_CMP4\n
AnnaBridge 163:e59c8e839560 9987 * TIMxDIER CMP4DE LL_HRTIM_DisableDMAReq_CMP4
AnnaBridge 163:e59c8e839560 9988 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 9989 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 9990 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 9991 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 9992 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 9993 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 9994 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 9995 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 9996 * @retval None
AnnaBridge 163:e59c8e839560 9997 */
AnnaBridge 163:e59c8e839560 9998 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 9999 {
AnnaBridge 163:e59c8e839560 10000 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10001 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10002 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10003 CLEAR_BIT(*pReg, HRTIM_MDIER_MCMP4DE);
AnnaBridge 163:e59c8e839560 10004 }
AnnaBridge 163:e59c8e839560 10005
AnnaBridge 163:e59c8e839560 10006 /**
AnnaBridge 163:e59c8e839560 10007 * @brief Indicate whether the compare 4 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10008 * @rmtoll MDIER MCMP4DE LL_HRTIM_IsEnabledDMAReq_CMP4\n
AnnaBridge 163:e59c8e839560 10009 * TIMxDIER CMP4DE LL_HRTIM_IsEnabledDMAReq_CMP4
AnnaBridge 163:e59c8e839560 10010 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10011 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10012 * @arg @ref LL_HRTIM_TIMER_MASTER
AnnaBridge 163:e59c8e839560 10013 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10014 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10015 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10016 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10017 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10018 * @retval State of MCMP4DE/CMP4DE bit in HRTIM_MDIER/HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10019 */
AnnaBridge 163:e59c8e839560 10020 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CMP4(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10021 {
AnnaBridge 163:e59c8e839560 10022 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10023 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10024 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10025 return (READ_BIT(*pReg, HRTIM_MDIER_MCMP4DE) == (HRTIM_MDIER_MCMP4DE));
AnnaBridge 163:e59c8e839560 10026 }
AnnaBridge 163:e59c8e839560 10027
AnnaBridge 163:e59c8e839560 10028 /**
AnnaBridge 163:e59c8e839560 10029 * @brief Enable the capture 1 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10030 * @rmtoll TIMxDIER CPT1DE LL_HRTIM_EnableDMAReq_CPT1
AnnaBridge 163:e59c8e839560 10031 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10032 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10033 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10034 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10035 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10036 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10037 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10038 * @retval None
AnnaBridge 163:e59c8e839560 10039 */
AnnaBridge 163:e59c8e839560 10040 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10041 {
AnnaBridge 163:e59c8e839560 10042 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10043 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10044 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10045 SET_BIT(*pReg, HRTIM_TIMDIER_CPT1DE);
AnnaBridge 163:e59c8e839560 10046 }
AnnaBridge 163:e59c8e839560 10047
AnnaBridge 163:e59c8e839560 10048 /**
AnnaBridge 163:e59c8e839560 10049 * @brief Disable the capture 1 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10050 * @rmtoll TIMxDIER CPT1DE LL_HRTIM_DisableDMAReq_CPT1
AnnaBridge 163:e59c8e839560 10051 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10052 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10053 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10054 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10055 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10056 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10057 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10058 * @retval None
AnnaBridge 163:e59c8e839560 10059 */
AnnaBridge 163:e59c8e839560 10060 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10061 {
AnnaBridge 163:e59c8e839560 10062 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10063 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10064 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10065 CLEAR_BIT(*pReg, HRTIM_TIMDIER_CPT1DE);
AnnaBridge 163:e59c8e839560 10066 }
AnnaBridge 163:e59c8e839560 10067
AnnaBridge 163:e59c8e839560 10068 /**
AnnaBridge 163:e59c8e839560 10069 * @brief Indicate whether the capture 1 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10070 * @rmtoll TIMxDIER CPT1DE LL_HRTIM_IsEnabledDMAReq_CPT1
AnnaBridge 163:e59c8e839560 10071 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10072 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10073 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10074 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10075 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10076 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10077 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10078 * @retval State of CPT1DE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10079 */
AnnaBridge 163:e59c8e839560 10080 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CPT1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10081 {
AnnaBridge 163:e59c8e839560 10082 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10083 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10084 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10085 return (READ_BIT(*pReg, HRTIM_TIMDIER_CPT1DE) == (HRTIM_TIMDIER_CPT1DE));
AnnaBridge 163:e59c8e839560 10086 }
AnnaBridge 163:e59c8e839560 10087
AnnaBridge 163:e59c8e839560 10088 /**
AnnaBridge 163:e59c8e839560 10089 * @brief Enable the capture 2 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10090 * @rmtoll TIMxDIER CPT2DE LL_HRTIM_EnableDMAReq_CPT2
AnnaBridge 163:e59c8e839560 10091 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10092 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10093 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10094 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10095 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10096 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10097 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10098 * @retval None
AnnaBridge 163:e59c8e839560 10099 */
AnnaBridge 163:e59c8e839560 10100 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10101 {
AnnaBridge 163:e59c8e839560 10102 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10103 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10104 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10105 SET_BIT(*pReg, HRTIM_TIMDIER_CPT2DE);
AnnaBridge 163:e59c8e839560 10106 }
AnnaBridge 163:e59c8e839560 10107
AnnaBridge 163:e59c8e839560 10108 /**
AnnaBridge 163:e59c8e839560 10109 * @brief Disable the capture 2 DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10110 * @rmtoll TIMxDIER CPT2DE LL_HRTIM_DisableDMAReq_CPT2
AnnaBridge 163:e59c8e839560 10111 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10112 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10113 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10114 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10115 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10116 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10117 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10118 * @retval None
AnnaBridge 163:e59c8e839560 10119 */
AnnaBridge 163:e59c8e839560 10120 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10121 {
AnnaBridge 163:e59c8e839560 10122 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10123 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10124 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10125 CLEAR_BIT(*pReg, HRTIM_TIMDIER_CPT2DE);
AnnaBridge 163:e59c8e839560 10126 }
AnnaBridge 163:e59c8e839560 10127
AnnaBridge 163:e59c8e839560 10128 /**
AnnaBridge 163:e59c8e839560 10129 * @brief Indicate whether the capture 2 DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10130 * @rmtoll TIMxDIER CPT2DE LL_HRTIM_IsEnabledDMAReq_CPT2
AnnaBridge 163:e59c8e839560 10131 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10132 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10133 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10134 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10135 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10136 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10137 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10138 * @retval State of CPT2DE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10139 */
AnnaBridge 163:e59c8e839560 10140 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_CPT2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10141 {
AnnaBridge 163:e59c8e839560 10142 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10143 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10144 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10145 return (READ_BIT(*pReg, HRTIM_TIMDIER_CPT2DE) == (HRTIM_TIMDIER_CPT2DE));
AnnaBridge 163:e59c8e839560 10146 }
AnnaBridge 163:e59c8e839560 10147
AnnaBridge 163:e59c8e839560 10148 /**
AnnaBridge 163:e59c8e839560 10149 * @brief Enable the output 1 set DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10150 * @rmtoll TIMxDIER SET1DE LL_HRTIM_EnableDMAReq_SET1
AnnaBridge 163:e59c8e839560 10151 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10152 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10153 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10154 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10155 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10156 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10157 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10158 * @retval None
AnnaBridge 163:e59c8e839560 10159 */
AnnaBridge 163:e59c8e839560 10160 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10161 {
AnnaBridge 163:e59c8e839560 10162 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10163 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10164 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10165 SET_BIT(*pReg, HRTIM_TIMDIER_SET1DE);
AnnaBridge 163:e59c8e839560 10166 }
AnnaBridge 163:e59c8e839560 10167
AnnaBridge 163:e59c8e839560 10168 /**
AnnaBridge 163:e59c8e839560 10169 * @brief Disable the output 1 set DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10170 * @rmtoll TIMxDIER SET1DE LL_HRTIM_DisableDMAReq_SET1
AnnaBridge 163:e59c8e839560 10171 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10172 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10173 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10174 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10175 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10176 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10177 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10178 * @retval None
AnnaBridge 163:e59c8e839560 10179 */
AnnaBridge 163:e59c8e839560 10180 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10181 {
AnnaBridge 163:e59c8e839560 10182 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10183 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10184 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10185 CLEAR_BIT(*pReg, HRTIM_TIMDIER_SET1DE);
AnnaBridge 163:e59c8e839560 10186 }
AnnaBridge 163:e59c8e839560 10187
AnnaBridge 163:e59c8e839560 10188 /**
AnnaBridge 163:e59c8e839560 10189 * @brief Indicate whether the output 1 set DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10190 * @rmtoll TIMxDIER SET1DE LL_HRTIM_IsEnabledDMAReq_SET1
AnnaBridge 163:e59c8e839560 10191 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10192 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10193 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10194 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10195 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10196 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10197 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10198 * @retval State of SET1xDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10199 */
AnnaBridge 163:e59c8e839560 10200 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_SET1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10201 {
AnnaBridge 163:e59c8e839560 10202 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10203 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10204 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10205 return (READ_BIT(*pReg, HRTIM_TIMDIER_SET1DE) == (HRTIM_TIMDIER_SET1DE));
AnnaBridge 163:e59c8e839560 10206 }
AnnaBridge 163:e59c8e839560 10207
AnnaBridge 163:e59c8e839560 10208 /**
AnnaBridge 163:e59c8e839560 10209 * @brief Enable the output 1 reset DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10210 * @rmtoll TIMxDIER RST1DE LL_HRTIM_EnableDMAReq_RST1
AnnaBridge 163:e59c8e839560 10211 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10212 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10213 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10214 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10215 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10216 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10217 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10218 * @retval None
AnnaBridge 163:e59c8e839560 10219 */
AnnaBridge 163:e59c8e839560 10220 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10221 {
AnnaBridge 163:e59c8e839560 10222 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10223 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10224 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10225 SET_BIT(*pReg, HRTIM_TIMDIER_RST1DE);
AnnaBridge 163:e59c8e839560 10226 }
AnnaBridge 163:e59c8e839560 10227
AnnaBridge 163:e59c8e839560 10228 /**
AnnaBridge 163:e59c8e839560 10229 * @brief Disable the output 1 reset DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10230 * @rmtoll TIMxDIER RST1DE LL_HRTIM_DisableDMAReq_RST1
AnnaBridge 163:e59c8e839560 10231 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10232 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10233 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10234 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10235 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10236 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10237 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10238 * @retval None
AnnaBridge 163:e59c8e839560 10239 */
AnnaBridge 163:e59c8e839560 10240 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10241 {
AnnaBridge 163:e59c8e839560 10242 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10243 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10244 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10245 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RST1DE);
AnnaBridge 163:e59c8e839560 10246 }
AnnaBridge 163:e59c8e839560 10247
AnnaBridge 163:e59c8e839560 10248 /**
AnnaBridge 163:e59c8e839560 10249 * @brief Indicate whether the output 1 reset interrupt is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10250 * @rmtoll TIMxDIER RST1DE LL_HRTIM_IsEnabledDMAReq_RST1
AnnaBridge 163:e59c8e839560 10251 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10252 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10253 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10254 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10255 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10256 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10257 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10258 * @retval State of RST1xDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10259 */
AnnaBridge 163:e59c8e839560 10260 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_RST1(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10261 {
AnnaBridge 163:e59c8e839560 10262 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10263 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10264 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10265 return (READ_BIT(*pReg, HRTIM_TIMDIER_RST1DE) == (HRTIM_TIMDIER_RST1DE));
AnnaBridge 163:e59c8e839560 10266 }
AnnaBridge 163:e59c8e839560 10267
AnnaBridge 163:e59c8e839560 10268 /**
AnnaBridge 163:e59c8e839560 10269 * @brief Enable the output 2 set DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10270 * @rmtoll TIMxDIER SET2DE LL_HRTIM_EnableDMAReq_SET2
AnnaBridge 163:e59c8e839560 10271 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10272 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10273 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10274 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10275 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10276 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10277 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10278 * @retval None
AnnaBridge 163:e59c8e839560 10279 */
AnnaBridge 163:e59c8e839560 10280 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10281 {
AnnaBridge 163:e59c8e839560 10282 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10283 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10284 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10285 SET_BIT(*pReg, HRTIM_TIMDIER_SET2DE);
AnnaBridge 163:e59c8e839560 10286 }
AnnaBridge 163:e59c8e839560 10287
AnnaBridge 163:e59c8e839560 10288 /**
AnnaBridge 163:e59c8e839560 10289 * @brief Disable the output 2 set DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10290 * @rmtoll TIMxDIER SET2DE LL_HRTIM_DisableDMAReq_SET2
AnnaBridge 163:e59c8e839560 10291 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10292 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10293 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10294 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10295 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10296 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10297 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10298 * @retval None
AnnaBridge 163:e59c8e839560 10299 */
AnnaBridge 163:e59c8e839560 10300 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10301 {
AnnaBridge 163:e59c8e839560 10302 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10303 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10304 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10305 CLEAR_BIT(*pReg, HRTIM_TIMDIER_SET2DE);
AnnaBridge 163:e59c8e839560 10306 }
AnnaBridge 163:e59c8e839560 10307
AnnaBridge 163:e59c8e839560 10308 /**
AnnaBridge 163:e59c8e839560 10309 * @brief Indicate whether the output 2 set DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10310 * @rmtoll TIMxDIER SET2DE LL_HRTIM_IsEnabledDMAReq_SET2
AnnaBridge 163:e59c8e839560 10311 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10312 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10313 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10314 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10315 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10316 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10317 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10318 * @retval State of SET2xDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10319 */
AnnaBridge 163:e59c8e839560 10320 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_SET2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10321 {
AnnaBridge 163:e59c8e839560 10322 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10323 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10324 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10325 return (READ_BIT(*pReg, HRTIM_TIMDIER_SET2DE) == (HRTIM_TIMDIER_SET2DE));
AnnaBridge 163:e59c8e839560 10326 }
AnnaBridge 163:e59c8e839560 10327
AnnaBridge 163:e59c8e839560 10328 /**
AnnaBridge 163:e59c8e839560 10329 * @brief Enable the output 2 reset DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10330 * @rmtoll TIMxDIER RST2DE LL_HRTIM_EnableDMAReq_RST2
AnnaBridge 163:e59c8e839560 10331 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10332 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10333 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10334 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10335 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10336 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10337 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10338 * @retval None
AnnaBridge 163:e59c8e839560 10339 */
AnnaBridge 163:e59c8e839560 10340 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10341 {
AnnaBridge 163:e59c8e839560 10342 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10343 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10344 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10345 SET_BIT(*pReg, HRTIM_TIMDIER_RST2DE);
AnnaBridge 163:e59c8e839560 10346 }
AnnaBridge 163:e59c8e839560 10347
AnnaBridge 163:e59c8e839560 10348 /**
AnnaBridge 163:e59c8e839560 10349 * @brief Disable the output 2 reset DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10350 * @rmtoll TIMxDIER RST2DE LL_HRTIM_DisableDMAReq_RST2
AnnaBridge 163:e59c8e839560 10351 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10352 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10353 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10354 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10355 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10356 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10357 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10358 * @retval None
AnnaBridge 163:e59c8e839560 10359 */
AnnaBridge 163:e59c8e839560 10360 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10361 {
AnnaBridge 163:e59c8e839560 10362 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10363 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10364 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10365 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RST2DE);
AnnaBridge 163:e59c8e839560 10366 }
AnnaBridge 163:e59c8e839560 10367
AnnaBridge 163:e59c8e839560 10368 /**
AnnaBridge 163:e59c8e839560 10369 * @brief Indicate whether the output 2 reset DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10370 * @rmtoll TIMxDIER RST2DE LL_HRTIM_IsEnabledDMAReq_RST2
AnnaBridge 163:e59c8e839560 10371 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10372 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10373 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10374 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10375 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10376 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10377 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10378 * @retval State of RST2xDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10379 */
AnnaBridge 163:e59c8e839560 10380 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_RST2(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10381 {
AnnaBridge 163:e59c8e839560 10382 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10383 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10384 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10385 return (READ_BIT(*pReg, HRTIM_TIMDIER_RST2DE) == (HRTIM_TIMDIER_RST2DE));
AnnaBridge 163:e59c8e839560 10386 }
AnnaBridge 163:e59c8e839560 10387
AnnaBridge 163:e59c8e839560 10388 /**
AnnaBridge 163:e59c8e839560 10389 * @brief Enable the reset/roll-over DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10390 * @rmtoll TIMxDIER RSTDE LL_HRTIM_EnableDMAReq_RST
AnnaBridge 163:e59c8e839560 10391 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10392 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10393 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10394 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10395 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10396 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10397 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10398 * @retval None
AnnaBridge 163:e59c8e839560 10399 */
AnnaBridge 163:e59c8e839560 10400 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10401 {
AnnaBridge 163:e59c8e839560 10402 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10403 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10404 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10405 SET_BIT(*pReg, HRTIM_TIMDIER_RSTDE);
AnnaBridge 163:e59c8e839560 10406 }
AnnaBridge 163:e59c8e839560 10407
AnnaBridge 163:e59c8e839560 10408 /**
AnnaBridge 163:e59c8e839560 10409 * @brief Disable the reset/roll-over DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10410 * @rmtoll TIMxDIER RSTDE LL_HRTIM_DisableDMAReq_RST
AnnaBridge 163:e59c8e839560 10411 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10412 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10413 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10414 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10415 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10416 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10417 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10418 * @retval None
AnnaBridge 163:e59c8e839560 10419 */
AnnaBridge 163:e59c8e839560 10420 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10421 {
AnnaBridge 163:e59c8e839560 10422 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10423 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10424 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10425 CLEAR_BIT(*pReg, HRTIM_TIMDIER_RSTDE);
AnnaBridge 163:e59c8e839560 10426 }
AnnaBridge 163:e59c8e839560 10427
AnnaBridge 163:e59c8e839560 10428 /**
AnnaBridge 163:e59c8e839560 10429 * @brief Indicate whether the reset/roll-over DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10430 * @rmtoll TIMxDIER RSTDE LL_HRTIM_IsEnabledDMAReq_RST
AnnaBridge 163:e59c8e839560 10431 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10432 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10433 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10434 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10435 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10436 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10437 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10438 * @retval State of RSTDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10439 */
AnnaBridge 163:e59c8e839560 10440 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_RST(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10441 {
AnnaBridge 163:e59c8e839560 10442 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10443 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10444 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10445 return (READ_BIT(*pReg, HRTIM_TIMDIER_RSTDE) == (HRTIM_TIMDIER_RSTDE));
AnnaBridge 163:e59c8e839560 10446 }
AnnaBridge 163:e59c8e839560 10447
AnnaBridge 163:e59c8e839560 10448 /**
AnnaBridge 163:e59c8e839560 10449 * @brief Enable the delayed protection DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10450 * @rmtoll TIMxDIER DLYPRTDE LL_HRTIM_EnableDMAReq_DLYPRT
AnnaBridge 163:e59c8e839560 10451 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10452 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10453 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10454 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10455 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10456 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10457 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10458 * @retval None
AnnaBridge 163:e59c8e839560 10459 */
AnnaBridge 163:e59c8e839560 10460 __STATIC_INLINE void LL_HRTIM_EnableDMAReq_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10461 {
AnnaBridge 163:e59c8e839560 10462 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10463 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10464 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10465 SET_BIT(*pReg, HRTIM_TIMDIER_DLYPRTDE);
AnnaBridge 163:e59c8e839560 10466 }
AnnaBridge 163:e59c8e839560 10467
AnnaBridge 163:e59c8e839560 10468 /**
AnnaBridge 163:e59c8e839560 10469 * @brief Disable the delayed protection DMA request for a given timer.
AnnaBridge 163:e59c8e839560 10470 * @rmtoll TIMxDIER DLYPRTDE LL_HRTIM_DisableDMAReq_DLYPRT
AnnaBridge 163:e59c8e839560 10471 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10472 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10473 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10474 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10475 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10476 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10477 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10478 * @retval None
AnnaBridge 163:e59c8e839560 10479 */
AnnaBridge 163:e59c8e839560 10480 __STATIC_INLINE void LL_HRTIM_DisableDMAReq_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10481 {
AnnaBridge 163:e59c8e839560 10482 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10483 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10484 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10485 CLEAR_BIT(*pReg, HRTIM_TIMDIER_DLYPRTDE);
AnnaBridge 163:e59c8e839560 10486 }
AnnaBridge 163:e59c8e839560 10487
AnnaBridge 163:e59c8e839560 10488 /**
AnnaBridge 163:e59c8e839560 10489 * @brief Indicate whether the delayed protection DMA request is enabled for a given timer.
AnnaBridge 163:e59c8e839560 10490 * @rmtoll TIMxDIER DLYPRTDE LL_HRTIM_IsEnabledDMAReq_DLYPRT
AnnaBridge 163:e59c8e839560 10491 * @param HRTIMx High Resolution Timer instance
AnnaBridge 163:e59c8e839560 10492 * @param Timer This parameter can be one of the following values:
AnnaBridge 163:e59c8e839560 10493 * @arg @ref LL_HRTIM_TIMER_A
AnnaBridge 163:e59c8e839560 10494 * @arg @ref LL_HRTIM_TIMER_B
AnnaBridge 163:e59c8e839560 10495 * @arg @ref LL_HRTIM_TIMER_C
AnnaBridge 163:e59c8e839560 10496 * @arg @ref LL_HRTIM_TIMER_D
AnnaBridge 163:e59c8e839560 10497 * @arg @ref LL_HRTIM_TIMER_E
AnnaBridge 163:e59c8e839560 10498 * @retval State of DLYPRTDE bit in HRTIM_TIMxDIER register (1 or 0).
AnnaBridge 163:e59c8e839560 10499 */
AnnaBridge 163:e59c8e839560 10500 __STATIC_INLINE uint32_t LL_HRTIM_IsEnabledDMAReq_DLYPRT(HRTIM_TypeDef *HRTIMx, uint32_t Timer)
AnnaBridge 163:e59c8e839560 10501 {
AnnaBridge 163:e59c8e839560 10502 register uint32_t iTimer = (uint8_t)(POSITION_VAL(Timer) - HRTIM_MCR_MCEN_Pos);
AnnaBridge 163:e59c8e839560 10503 register uint32_t *pReg = (uint32_t *)((uint32_t)((uint32_t)(&HRTIMx->sMasterRegs.MDIER) +
AnnaBridge 163:e59c8e839560 10504 REG_OFFSET_TAB_TIMER[iTimer]));
AnnaBridge 163:e59c8e839560 10505 return (READ_BIT(*pReg, HRTIM_TIMDIER_DLYPRTDE) == (HRTIM_TIMDIER_DLYPRTDE));
AnnaBridge 163:e59c8e839560 10506 }
AnnaBridge 163:e59c8e839560 10507
AnnaBridge 163:e59c8e839560 10508 /**
AnnaBridge 163:e59c8e839560 10509 * @}
AnnaBridge 163:e59c8e839560 10510 */
AnnaBridge 163:e59c8e839560 10511
AnnaBridge 163:e59c8e839560 10512 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 163:e59c8e839560 10513 /** @defgroup HRTIM_LL_EF_Init Initialisation and deinitialisation functions
AnnaBridge 163:e59c8e839560 10514 * @{
AnnaBridge 163:e59c8e839560 10515 */
AnnaBridge 163:e59c8e839560 10516 ErrorStatus LL_HRTIM_DeInit(HRTIM_TypeDef* HRTIMx);
AnnaBridge 163:e59c8e839560 10517 /**
AnnaBridge 163:e59c8e839560 10518 * @}
AnnaBridge 163:e59c8e839560 10519 */
AnnaBridge 163:e59c8e839560 10520 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 163:e59c8e839560 10521
AnnaBridge 163:e59c8e839560 10522 /**
AnnaBridge 163:e59c8e839560 10523 * @}
AnnaBridge 163:e59c8e839560 10524 */
AnnaBridge 163:e59c8e839560 10525
AnnaBridge 163:e59c8e839560 10526 /**
AnnaBridge 163:e59c8e839560 10527 * @}
AnnaBridge 163:e59c8e839560 10528 */
AnnaBridge 163:e59c8e839560 10529
AnnaBridge 163:e59c8e839560 10530 #endif /* HRTIM1 */
AnnaBridge 163:e59c8e839560 10531
AnnaBridge 163:e59c8e839560 10532 /**
AnnaBridge 163:e59c8e839560 10533 * @}
AnnaBridge 163:e59c8e839560 10534 */
AnnaBridge 163:e59c8e839560 10535
AnnaBridge 163:e59c8e839560 10536 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 10537 }
AnnaBridge 163:e59c8e839560 10538 #endif
AnnaBridge 163:e59c8e839560 10539
AnnaBridge 163:e59c8e839560 10540 #endif /* __STM32F3xx_LL_HRTIM_H */
AnnaBridge 163:e59c8e839560 10541
AnnaBridge 163:e59c8e839560 10542 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/