2 * Configuration of module: Pwm (Pwm_Cfg.h)
\r
7 * Configured for (MCU): HCS12
\r
9 * Module vendor: ArcCore
\r
10 * Generator version: 2.0.1
\r
12 * Generated by Arctic Studio (http://arccore.com)
\r
13 * on Sat Jun 18 21:14:51 CEST 2011
\r
17 #if !(((PWM_SW_MAJOR_VERSION == 1) && (PWM_SW_MINOR_VERSION == 2)) )
18 #error Pwm: Configuration file expected BSW module version to be 1.2.*
26 #define PWM_DEV_ERROR_DETECT STD_ON
\r
27 #define PWM_STATICALLY_CONFIGURED STD_OFF
\r
28 #define PWM_NOTIFICATION_SUPPORTED STD_OFF
\r
29 #define PWM_FREEZE_ENABLE STD_OFF
\r
31 // Define what API functions to enable.
\r
32 #define PWM_GET_OUTPUT_STATE STD_OFF
\r
33 #define PWM_SET_PERIOD_AND_DUTY STD_ON
\r
34 #define PWM_DEINIT_API STD_OFF
\r
35 #define PWM_SET_DUTY_CYCLE_API STD_ON
\r
36 #define PWM_SET_OUTPUT_TO_IDLE_API STD_OFF
\r
37 #define PWM_VERSION_INFO_API STD_OFF
\r
42 * PWM132: Switch for enabling the update of duty cycle parameter at the end
\r
43 * of the current period.
\r
45 * Note: Currently only ON mode is supported.
\r
47 #define PWM_DUTYCYCLE_UPDATED_ENDPERIOD STD_ON
\r
50 * PWM106: This is implementation specific but not all values may be valid
\r
51 * within the type. This shall be chosen in order to have the most efficient
\r
52 * implementation on a specific microcontroller platform.
\r
54 * PWM106 => Pwm_ChannelType == channel id.
\r
56 typedef uint8 Pwm_ChannelType;
\r
59 * PWM070: All time units used within the API services of the PWM module shall
\r
60 * be of the unit ticks.
\r
62 typedef uint16 Pwm_PeriodType;
\r
64 /****************************************************************************
\r
65 * Enumeration of channels
\r
66 * Maps a symbolic name to a hardware channel
\r
70 PWM_NUMBER_OF_CHANNELS = 1
\r
71 } Pwm_NamedChannelsType;
\r
73 /* 1 =PWMchannel output is high at the beginning of the period, then goes low when the duty count
\r
75 #define POLARITY_NORMAL 1
\r
76 #define POLARITY_INVERSED 0
\r
79 * Since the AUTOSAR PWM specification uses a different unit for the duty,
\r
80 * the following macro can be used to convert between that format and the
\r
83 #define DUTY_AND_PERIOD(_duty,_period) .duty = (uint8)((uint32)((uint32)_duty*(uint32)_period)>>15), .period = _period
\r
87 /** Number of duty ticks */
\r
89 /** Length of period, in ticks */
\r
91 /** Center or left align */
\r
92 uint8_t centerAlign:1;
\r
93 /** Polarity of the channel */
\r
95 /** Scaled clock enabled */
\r
96 uint8_t scaledClockEnable:1;
\r
98 uint8_t idleState:1;
\r
100 uint8_t reserved:4;
\r
102 Pwm_ChannelClassType class;
\r
104 Pwm_ChannelType channel;
\r
105 } Pwm_ChannelConfigurationType;
\r
116 }Pwm_PrescalerType;
\r
119 Pwm_ChannelConfigurationType channels[PWM_NUMBER_OF_CHANNELS];
\r
120 Pwm_PrescalerType busPrescalerA;
\r
121 Pwm_PrescalerType busPrescalerB;
\r
122 uint8_t prescalerA;
\r
123 uint8_t prescalerB;
\r