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
16 #if !(((PWM_SW_MAJOR_VERSION == 1) && (PWM_SW_MINOR_VERSION == 2)) )
17 #error Pwm: Configuration file expected BSW module version to be 1.2.*
25 #define PWM_DEV_ERROR_DETECT STD_ON
\r
26 #define PWM_STATICALLY_CONFIGURED STD_OFF
\r
27 #define PWM_NOTIFICATION_SUPPORTED STD_OFF
\r
28 #define PWM_FREEZE_ENABLE STD_OFF
\r
30 // Define what API functions to enable.
\r
31 #define PWM_GET_OUTPUT_STATE_API STD_OFF
\r
32 #define PWM_SET_PERIOD_AND_DUTY_API STD_ON
\r
33 #define PWM_DE_INIT_API STD_OFF
\r
34 #define PWM_SET_DUTY_CYCLE_API STD_ON
\r
35 #define PWM_SET_OUTPUT_TO_IDLE_API STD_OFF
\r
36 #define PWM_VERSION_INFO_API STD_OFF
\r
41 * PWM132: Switch for enabling the update of duty cycle parameter at the end
\r
42 * of the current period.
\r
44 * Note: Currently only ON mode is supported.
\r
46 #define PWM_DUTYCYCLE_UPDATED_ENDPERIOD STD_ON
\r
49 * PWM106: This is implementation specific but not all values may be valid
\r
50 * within the type. This shall be chosen in order to have the most efficient
\r
51 * implementation on a specific microcontroller platform.
\r
53 * PWM106 => Pwm_ChannelType == channel id.
\r
55 typedef uint8 Pwm_ChannelType;
\r
58 * PWM070: All time units used within the API services of the PWM module shall
\r
59 * be of the unit ticks.
\r
61 typedef uint16 Pwm_PeriodType;
\r
63 /****************************************************************************
\r
64 * Enumeration of channels
\r
65 * Maps a symbolic name to a hardware channel
\r
69 PWM_NUMBER_OF_CHANNELS = 1
\r
70 } Pwm_NamedChannelsType;
\r
72 /* 1 =PWMchannel output is high at the beginning of the period, then goes low when the duty count
\r
74 #define POLARITY_NORMAL 1
\r
75 #define POLARITY_INVERSED 0
\r
78 * Since the AUTOSAR PWM specification uses a different unit for the duty,
\r
79 * the following macro can be used to convert between that format and the
\r
82 #define DUTY_AND_PERIOD(_duty,_period) .duty = (uint8)((uint32)((uint32)_duty*(uint32)_period)>>15), .period = _period
\r
86 /** Number of duty ticks */
\r
88 /** Length of period, in ticks */
\r
90 /** Center or left align */
\r
91 uint8_t centerAlign:1;
\r
92 /** Polarity of the channel */
\r
94 /** Scaled clock enabled */
\r
95 uint8_t scaledClockEnable:1;
\r
97 uint8_t idleState:1;
\r
101 Pwm_ChannelClassType class;
\r
103 Pwm_ChannelType channel;
\r
104 } Pwm_ChannelConfigurationType;
\r
115 }Pwm_PrescalerType;
\r
118 Pwm_ChannelConfigurationType channels[PWM_NUMBER_OF_CHANNELS];
\r
119 Pwm_PrescalerType busPrescalerA;
\r
120 Pwm_PrescalerType busPrescalerB;
\r
121 uint8_t prescalerA;
\r
122 uint8_t prescalerB;
\r