Rev 1 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 196 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** |
1 | /******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** |
2 | * File Name : 91x_mc.h |
2 | * File Name : 91x_mc.h |
3 | * Author : MCD Application Team |
3 | * Author : MCD Application Team |
- | 4 | * Version : V2.1 |
|
4 | * Date First Issued : 05/18/2006 : Version 1.0 |
5 | * Date : 12/22/2008 |
5 | * Description : This file contains all the functions prototypes for the |
6 | * Description : This file contains all the functions prototypes for the |
6 | * MC software library. |
7 | * MC firmware library. |
7 | ******************************************************************************** |
8 | ******************************************************************************** |
8 | * History: |
- | |
9 | * 05/22/2007 : Version 1.2 |
- | |
10 | * 05/24/2006 : Version 1.1 |
- | |
11 | * 05/18/2006 : Version 1.0 |
- | |
12 | ******************************************************************************** |
- | |
13 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
9 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH |
14 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
10 | * CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS |
15 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
11 | * A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT |
16 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
12 | * OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT |
17 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
13 | * OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION |
18 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
14 | * CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
19 | *******************************************************************************/ |
15 | *******************************************************************************/ |
- | 16 | ||
20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
17 | /* Define to prevent recursive inclusion -------------------------------------*/ |
21 | #ifndef __91x_MC_H |
18 | #ifndef __91x_MC_H |
22 | #define __91x_MC_H |
19 | #define __91x_MC_H |
Line 23... | Line 20... | ||
23 | 20 | ||
Line 54... | Line 51... | ||
54 | } MC_InitTypeDef; |
51 | } MC_InitTypeDef; |
Line 55... | Line 52... | ||
55 | 52 | ||
Line 56... | Line 53... | ||
56 | typedef enum { DOWN = 0, UP = !DOWN} CountingStatus; |
53 | typedef enum { DOWN = 0, UP = !DOWN} CountingStatus; |
57 | - | ||
58 | /* Exported constants --------------------------------------------------------*/ |
- | |
Line -... | Line 54... | ||
- | 54 | ||
- | 55 | /* Exported constants --------------------------------------------------------*/ |
|
- | 56 | ||
- | 57 | /* MC enable/disable complementary feature */ |
|
- | 58 | #define MC_Complementary_Enable 0x0001 /*MC Complementary Mode Enable*/ |
|
59 | #define MC_Complementary_Enable 0x0001 |
59 | #define MC_Complementary_Disable 0x0002 /*MC Complementary Mode Disable*/ |
60 | #define MC_Complementary_Disable 0x0002 |
60 | |
- | 61 | /* MC operating modes */ |
|
- | 62 | #define MC_HardwareOperating_Mode 0x0001 /* Hardware operating Mode*/ |
|
- | 63 | #define MC_SoftwareOperating_Mode 0x0002 /* Software operating Mode*/ |
|
- | 64 | ||
- | 65 | /* MC PWM modes */ |
|
- | 66 | #define MC_PWMClassical_Mode 0x0001 /*Classical PWM Mode*/ |
|
- | 67 | #define MC_PWMZeroCentered_Mode 0x0002 /*Zero Centered PWM Mode*/ |
|
- | 68 | ||
- | 69 | ||
- | 70 | /* MC enable/disable emergency */ |
|
- | 71 | #define MC_Emergency_Enable 0x0001 /*MC Emergency Enable*/ |
|
- | 72 | #define MC_Emergency_Disable 0x0002 /*MC Emergency Disable*/ |
|
- | 73 | ||
- | 74 | ||
- | 75 | /* MC forced PWM state */ |
|
- | 76 | #define MC_Polarity_Inverted 0x0001 /*PWM signal polarity inverted*/ |
|
- | 77 | #define MC_Polarity_NonInverted 0x0002 /*PWM signal polarity non-inverted*/ |
|
- | 78 | ||
- | 79 | ||
- | 80 | /* MC tacho modes */ |
|
- | 81 | #define MC_TachoOneShot_Mode 0x0001 /*One Shot Tacho Mode*/ |
|
- | 82 | #define MC_TachoContinuous_Mode 0x0002 /*Continuous Tacho Mode*/ |
|
- | 83 | ||
- | 84 | ||
- | 85 | /* MC tacho polarity */ |
|
- | 86 | #define MC_TachoEventEdge_None 0x0000 /* Edge None */ |
|
- | 87 | #define MC_TachoEventEdge_Falling 0x0001 /* Falling Edge */ |
|
- | 88 | #define MC_TachoEventEdge_Rising 0x0002 /* Rising Edge */ |
|
- | 89 | #define MC_TachoEventEdge_RisingFalling 0x0003 /* Rising and falling Edge */ |
|
- | 90 | ||
- | 91 | /* MC channels */ |
|
- | 92 | #define MC_Channel_U 0x0001 /* Channel U */ |
|
- | 93 | #define MC_Channel_V 0x0002 /* Channel V */ |
|
- | 94 | #define MC_Channel_W 0x0003 /* Channel W */ |
|
- | 95 | #define MC_Channel_ALL 0x0004 /* All Channels */ |
|
- | 96 | ||
- | 97 | /* MC tacho event mode */ |
|
- | 98 | #define MC_TachoEvent_Hardware_Mode 0x0001 /*Hardware operating Mode*/ |
|
- | 99 | #define MC_TachoEvent_Software_Mode 0x0002 /*Software operating Mode*/ |
|
- | 100 | ||
- | 101 | /* MC interrupts */ |
|
- | 102 | #define MC_IT_CMPW 0x0001 /* Compare W interrupt */ |
|
- | 103 | #define MC_IT_CMPV 0x0002 /* Compare V interrupt */ |
|
- | 104 | #define MC_IT_CMPU 0x0004 /* Compare U interrupt */ |
|
- | 105 | #define MC_IT_ZPC 0x0008 /* Zero of PWM counter interrupt */ |
|
- | 106 | #define MC_IT_ADT 0x0010 /* Automatic data transfer interrupt */ |
|
- | 107 | #define MC_IT_OTC 0x0020 /* Overflow of tacho counter interrupt */ |
|
- | 108 | #define MC_IT_CPT 0x0040 /* Capture of tacho counter interrupt */ |
|
- | 109 | #define MC_IT_CM0 0x0080 /* Compare 0 interrupt */ |
|
- | 110 | ||
- | 111 | /* MC flags */ |
|
- | 112 | #define MC_FLAG_CMPW 0x0001 /* Compare W pending bit */ |
|
- | 113 | #define MC_FLAG_CMPV 0x0002 /* Compare V pending bit */ |
|
- | 114 | #define MC_FLAG_CMPU 0x0004 /* Compare U pending bit */ |
|
- | 115 | #define MC_FLAG_ZPC 0x0008 /* Zero of PWM counter pending bit */ |
|
- | 116 | #define MC_FLAG_ADT 0x0010 /* Automatic data transfer pending bit */ |
|
- | 117 | #define MC_FLAG_OTC 0x0020 /* Overflow of tacho counter pending bit */ |
|
- | 118 | #define MC_FLAG_CPT 0x0040 /* Capture of tacho counter pending bit */ |
|
- | 119 | #define MC_FLAG_CM0 0x0080 /* Compare 0 pending bit */ |
|
- | 120 | #define MC_FLAG_EST 0x0100 /* Emergency stop pending bit */ |
|
- | 121 | ||
- | 122 | /* MC lock levels */ |
|
- | 123 | #define MC_LockLevel0 0x0001 /* Level0 */ |
|
- | 124 | #define MC_LockLevel1 0x0002 /* Level1 */ |
|
- | 125 | #define MC_LockLevel2 0x0004 /* Level2 */ |
|
- | 126 | #define MC_LockLevel3 0x0008 /* Level3 */ |
|
- | 127 | #define MC_LockLevel4 0x0010 /* Level4 */ |
|
- | 128 | ||
- | 129 | /* MC counters */ |
|
- | 130 | #define MC_DT_Counter 0x0010 /*Dead time counter*/ |
|
- | 131 | #define MC_PWM_Counter 0x0020 /*PWM counter*/ |
|
- | 132 | ||
- | 133 | ||
- | 134 | /* MC double update mode feature */ |
|
- | 135 | #define MC_DUM 0x0001 /*Double update mode */ |
|
- | 136 | ||
- | 137 | ||
- | 138 | /* MC Trigger events to ADC conversion */ |
|
- | 139 | #define MC_ZPC 0x0004 /*Zero of PWM counter trigger event*/ |
|
- | 140 | #define MC_CM0 0x0008 /*Compare 0 of PWM trigger event*/ |
|
Line 61... | Line -... | ||
61 | - | ||
62 | #define MC_HardwareOperating_Mode 0x0001 |
- | |
Line 63... | Line -... | ||
63 | #define MC_SoftwareOperating_Mode 0x0002 |
- | |
64 | - | ||
65 | #define MC_PWMClassical_Mode 0x0001 |
- | |
66 | #define MC_PWMZeroCentered_Mode 0x0002 |
- | |
67 | - | ||
68 | #define MC_Emergency_Enable 0x0001 |
- | |
69 | #define MC_Emergency_Disable 0x0002 |
- | |
70 | - | ||
71 | #define MC_Polarity_Inverted 0x0001 |
- | |
72 | #define MC_Polarity_NonInverted 0x0002 |
- | |
73 | - | ||
74 | #define MC_TachoOneShot_Mode 0x0001 |
- | |
75 | #define MC_TachoContinuous_Mode 0x0002 |
- | |
76 | - | ||
77 | #define MC_TachoEventEdge_None 0x0000 |
- | |
78 | #define MC_TachoEventEdge_Falling 0x0001 |
- | |
79 | #define MC_TachoEventEdge_Rising 0x0002 |
- | |
80 | #define MC_TachoEventEdge_RisingFalling 0x0003 |
- | |
81 | - | ||
82 | #define MC_Channel_U 0x0001 |
- | |
83 | #define MC_Channel_V 0x0002 |
- | |
84 | #define MC_Channel_W 0x0003 |
- | |
85 | #define MC_Channel_ALL 0x0004 |
- | |
86 | - | ||
87 | - | ||
88 | #define MC_TachoEvent_Hardware_Mode 0x0001 |
- | |
89 | #define MC_TachoEvent_Software_Mode 0x0002 |
- | |
90 | - | ||
91 | #define MC_IT_CMPW 0x0001 |
- | |
92 | #define MC_IT_CMPV 0x0002 |
- | |
93 | #define MC_IT_CMPU 0x0004 |
- | |
94 | #define MC_IT_ZPC 0x0008 |
- | |
95 | #define MC_IT_ADT 0x0010 |
- | |
96 | #define MC_IT_OTC 0x0020 |
- | |
97 | #define MC_IT_CPT 0x0040 |
- | |
98 | #define MC_IT_CM0 0x0080 |
- | |
99 | - | ||
100 | #define MC_FLAG_CMPW 0x0001 |
- | |
101 | #define MC_FLAG_CMPV 0x0002 |
- | |
102 | #define MC_FLAG_CMPU 0x0004 |
- | |
103 | #define MC_FLAG_ZPC 0x0008 |
- | |
104 | #define MC_FLAG_ADT 0x0010 |
141 | #define MC_ADT 0x000C /*Automatic Data Transfer trigger event */ |
105 | #define MC_FLAG_OTC 0x0020 |
142 | |
106 | #define MC_FLAG_CPT 0x0040 |
143 | |
107 | #define MC_FLAG_CM0 0x0080 |
144 | |
108 | #define MC_FLAG_EST 0x0100 |
145 | |
Line 138... | Line 175... | ||
138 | void MC_ClearFlag(u16 MC_FLAG); |
175 | void MC_ClearFlag(u16 MC_FLAG); |
139 | ITStatus MC_GetITStatus(u16 MC_IT); |
176 | ITStatus MC_GetITStatus(u16 MC_IT); |
140 | void MC_ClearITPendingBit(u16 MC_IT); |
177 | void MC_ClearITPendingBit(u16 MC_IT); |
141 | void MC_ClearPWMCounter(void); |
178 | void MC_ClearPWMCounter(void); |
142 | void MC_ClearTachoCounter(void); |
179 | void MC_ClearTachoCounter(void); |
- | 180 | void MC_Lock(u16 MC_LockLevel); |
|
- | 181 | void MC_CounterModeConfig(u16 MC_Counter); |
|
- | 182 | void MC_DoubleUpdateMode(FunctionalState NewState); |
|
- | 183 | void MC_ADCTrigger(u16 IMC_Event, FunctionalState NewState); |
|
- | 184 | void MC_EnhancedStop(FunctionalState NewState); |
|
- | 185 | void MC_EmergencyStopPolarity(FunctionalState NewState); |
|
- | 186 | void MC_DebugOutputProtection(FunctionalState NewState); |
|
Line 143... | Line 187... | ||
143 | 187 | ||
Line 144... | Line 188... | ||
144 | #endif /* __91x_MC_H */ |
188 | #endif /* __91x_MC_H */ |