STM32G0 MCAL 0.0.1
Tiny MCAL for educational purpose.
Loading...
Searching...
No Matches
Pwm_Types.h
Go to the documentation of this file.
1
9#ifndef PWM_TYPES_H__
10#define PWM_TYPES_H__
11
12#include "Registers.h"
13
14
19#define PWM_ID_INIT 0x00u
20#define PWM_ID_DE_INIT 0x01u
21#define PWM_ID_SET_DUTY_CYCLE 0x02u
22#define PWM_ID_SET_PERIOD_AND_DUTY 0x03u
23#define PWM_ID_SET_OUTPUT_TO_IDLE 0x04u
24#define PWM_ID_GET_OUTPUT_STATE 0x05u
25#define PWM_ID_DISABLE_NOTIFICATION 0x06u
26#define PWM_ID_ENABLE_NOTIFICATION 0x07u
27#define PWM_ID_SET_POWER_STATE 0x09u
28#define PWM_ID_GET_CURRENT_POWER_STATE 0x0au
29#define PWM_ID_GET_TARGET_POWER_STATE 0x0bu
30#define PWM_ID_PREPARE_POWER_STATE 0x0cu
31#define PWM_ID_GET_VERSION_INFO 0x08u
34
39#define PWM_E_INIT_FAILED 0x10u
40#define PWM_E_UNINIT 0x11u
41#define PWM_E_PARAM_CHANNEL 0x12u
42#define PWM_E_PERIOD_UNCHANGEABLE 0x13u
43#define PWM_E_ALREADY_INITIALIZED 0x14u
44#define PWM_E_PARAM_POINTER 0x15u
45#define PWM_E_POWER_STATE_NOT_SUPPORTED 0x17u
46#define PWM_E_TRANSITION_NOT_POSSIBLE 0x18u
47#define PWM_E_PERIPHERAL_NOT_PREPARED 0x19u
48#define PWM_E_NOT_DISENGAGED 0x16u
51
56#ifndef UTEST
57#define PWM_STATIC static
58#else
59#define PWM_STATIC
60#endif
63
70
77
88
100
106/* cppcheck-suppress misra-c2012-2.3 ; the enum name it is neccesary */
108{ /* cppcheck-suppress misra-c2012-2.4 ; this macro is neccesary */
113
128
138
151
163
179
180#endif /* PWM_TYPES_H__ */
unsigned short uint16
Definition Platform_Types.h:96
unsigned int uint32
Definition Platform_Types.h:98
unsigned char uint8
Definition Platform_Types.h:94
enum _Pwm_OutputStateType Pwm_OutputStateType
Output state of a PWM channel.
enum _Pwm_PowerStateType Pwm_PowerStateType
Power state currently active or set as target power state.
_Pwm_PowerStateRequestResultType
Result of the requests related to power state transitions.
Definition Pwm_Types.h:120
@ PWM_SERVICE_ACCEPTED
Definition Pwm_Types.h:121
@ PWM_TRANS_NOT_POSSIBLE
Definition Pwm_Types.h:126
@ PWM_HW_FAILURE
Definition Pwm_Types.h:124
@ PWM_POWER_STATE_NOT_SUPP
Definition Pwm_Types.h:125
@ PWM_SEQUENCE_ERROR
Definition Pwm_Types.h:123
@ PWM_NOT_INIT
Definition Pwm_Types.h:122
struct _Pwm_HwUnit Pwm_HwUnit
Hardware control unit structure
Pwm_StatusType
PWM driver Status
Definition Pwm_Types.h:159
@ PWM_STATE_INIT
Definition Pwm_Types.h:161
@ PWM_STATE_UNINIT
Definition Pwm_Types.h:160
uint32 Pwm_PeriodType
Definition of the period of a PWM channel.
Definition Pwm_Types.h:76
_Pwm_EdgeNotificationType
Definition of the type of edge notification of a PWM channel.
Definition Pwm_Types.h:95
@ PWM_RISING_EDGE
Definition Pwm_Types.h:96
@ PWM_FALLING_EDGE
Definition Pwm_Types.h:97
@ PWM_BOTH_EDGES
Definition Pwm_Types.h:98
uint32 Pwm_ChannelType
Numeric identifier of a PWM channel.
Definition Pwm_Types.h:69
_Pwm_ChannelClassType
Defines the class of a PWM channel.
Definition Pwm_Types.h:108
@ PWM_VARIABLE_PERIOD
Definition Pwm_Types.h:109
@ PWM_FIXED_PERIOD
Definition Pwm_Types.h:110
@ PWM_FIXED_PERIOD_SHIFTED
Definition Pwm_Types.h:111
enum _Pwm_ChannelClassType Pwm_ChannelClassType
Defines the class of a PWM channel.
_Pwm_PowerStateType
Power state currently active or set as target power state.
Definition Pwm_Types.h:135
@ PWM_FULL_POWER
Definition Pwm_Types.h:136
enum _Pwm_PowerStateRequestResultType Pwm_PowerStateRequestResultType
Result of the requests related to power state transitions.
_Pwm_OutputStateType
Output state of a PWM channel.
Definition Pwm_Types.h:84
@ PWM_LOW
Definition Pwm_Types.h:86
@ PWM_HIGH
Definition Pwm_Types.h:85
enum _Pwm_EdgeNotificationType Pwm_EdgeNotificationType
Definition of the type of edge notification of a PWM channel.
struct _Pwm_ConfigType Pwm_ConfigType
Hardware unit configuration structure
This file contains definitions and configurations for the NVIC.
Hardware unit configuration structure
Definition Pwm_Types.h:148
uint32 dummy
Definition Pwm_Types.h:149
Hardware control unit structure
Definition Pwm_Types.h:171
const Pwm_ConfigType * Config
Definition Pwm_Types.h:172
Pwm_StatusType HwUnitState
Definition Pwm_Types.h:173
uint16 Duty_Cycle
Definition Pwm_Types.h:176
Pwm_ChannelClassType Pwm_ChannelClass
Definition Pwm_Types.h:174
Pwm_PeriodType Period
Definition Pwm_Types.h:177
uint8 Pwm_channelNumber
Definition Pwm_Types.h:175