Subversion Repositories NaviCtrl

Rev

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 */