| PDL for FM0+ Version1.0 Peripheral Driverl Library for FM0+

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Typedefs | Enumerations | Functions
C:/pdl_v10/library/driver/ppg/ppg.h File Reference
`#include "mcu.h"`
`#include "pdl_user.h"`
Include dependency graph for ppg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | stc_ppg_config
| Structure to config PPG. More...
struct | stc_ppg_upcnt0_config
| Up counter0 configuration. More...
struct | stc_timer0_gen_ch
| Up counter0 stop channels selection. More...
struct | stc_ppg_upcnt1_config
| Up counter1 configuration. More...
struct | stc_timer1_gen_ch
| Up counter1 stop channels selection. More...
struct | stc_ppg_upcnt2_config
| Up counter2 configuration. More...
struct | stc_timer2_gen_ch
| Up counter2 stop channels selection. More...
struct | stc_ppg_igbt_config
| structure of PPG IGBT configuration More...
## Defines
#define | PPG_CH0 0
#define | PPG_CH1 1
#define | PPG_CH2 2
#define | PPG_CH3 3
#define | PPG_CH4 4
#define | PPG_CH5 5
#define | PPG_CH6 6
#define | PPG_CH7 7
#define | PPG_CH8 8
#define | PPG_CH9 9
#define | PPG_CH10 10
#define | PPG_CH11 11
#define | PPG_CH12 12
#define | PPG_CH13 13
#define | PPG_CH14 14
#define | PPG_CH15 15
#define | PPG_CH16 16
#define | PPG_CH17 17
#define | PPG_CH18 18
#define | PPG_CH19 19
#define | PPG_CH20 20
#define | PPG_CH21 21
#define | PPG_CH22 22
#define | PPG_CH23 23
#define | PPG_COUPLE_CH01 0
#define | PPG_COUPLE_CH23 2
#define | PPG_COUPLE_CH45 4
#define | PPG_COUPLE_CH67 6
#define | PPG_COUPLE_CH89 8
#define | PPG_COUPLE_CH1011 10
#define | PPG_COUPLE_CH1213 12
#define | PPG_COUPLE_CH1415 14
#define | PPG_COUPLE_CH1617 16
#define | PPG_COUPLE_CH1819 18
#define | PPG_COUPLE_CH2021 20
#define | PPG_COUPLE_CH2223 22
#define | PPG_INT_MAX_CH 9
#define | PPG_UP_COUNTER_CH0 0
#define | PPG_UP_COUNTER_CH1 1
#define | PPG_UP_COUNTER_CH2 2
## Typedefs
typedef enum en_ppg_opt_mode | en_ppg_opt_mode_t
| Enumeration to define PPG operation mode.
typedef enum en_ppg_clock | en_ppg_clock_t
| Enumeration to define PPG count clock prescaler.
typedef enum en_ppg_trig | en_ppg_trig_t
| Enumeration to define PPG trigger.
typedef enum en_ppg_level | en_ppg_level_t
| Enumeration to define PPG output initial level.
typedef struct stc_ppg_config | stc_ppg_config_t
| Structure to config PPG.
typedef enum en_ppg_gate_level | en_ppg_gate_level_t
| Enumeration to define valid level of GATE signal from MFT.
typedef enum en_ppg_upcnt_clk | en_ppg_upcnt_clk_t
| Enumeration to define clock prescaler of up counter in timing generator.
typedef struct stc_ppg_upcnt0_config | stc_ppg_upcnt0_config_t
| Up counter0 configuration.
typedef struct stc_timer0_gen_ch | stc_timer0_gen_ch_t
| Up counter0 stop channels selection.
typedef struct stc_ppg_upcnt1_config | stc_ppg_upcnt1_config_t
| Up counter1 configuration.
typedef struct stc_timer1_gen_ch | stc_timer1_gen_ch_t
| Up counter1 stop channels selection.
typedef struct stc_ppg_upcnt2_config | stc_ppg_upcnt2_config_t
| Up counter2 configuration.
typedef struct stc_timer2_gen_ch | stc_timer2_gen_ch_t
| Up counter2 stop channels selection.
typedef enum en_ppg_int_mode | en_ppg_int_mode_t
| PPG interrupt mode.
typedef enum en_igbt_prohibition_mode | en_igbt_prohibition_mode_t
| Enumeration to define IBGT prohibition mode.
typedef enum en_igbt_filter_width | en_igbt_filter_width_t
| Enumeration to define IBGT noise filter width.
typedef enum en_igbt_level | en_igbt_level_t
| Enumeration to define IBGT input/out level.
typedef struct stc_ppg_igbt_config | stc_ppg_igbt_config_t
| structure of PPG IGBT configuration
typedef enum en_ppg_irq_ch | en_ppg_irq_ch_t
| PPG IRQ channel.
## Enumerations
enum | en_ppg_opt_mode { Ppg8Bit8Bit = 0, Ppg8Bit8Pres, Ppg16Bit, Ppg16Bit16Pres }
| Enumeration to define PPG operation mode. More...
enum | en_ppg_clock { PpgPclkDiv1 = 0, PpgPclkDiv4, PpgPclkDiv16, PpgPclkDiv64 }
| Enumeration to define PPG count clock prescaler. More...
enum | en_ppg_trig { PpgSoftwareTrig = 0, PpgMftGateTrig, PpgTimingGenTrig }
| Enumeration to define PPG trigger. More...
enum | en_ppg_level { PpgNormalLevel = 0, PpgReverseLevel }
| Enumeration to define PPG output initial level. More...
enum | en_ppg_gate_level { PpgGateHighActive = 0, PpgGateLowActive }
| Enumeration to define valid level of GATE signal from MFT. More...
enum | en_ppg_upcnt_clk { PpgUpCntPclkDiv2 = 0, PpgUpCntPclkDiv8, PpgUpCntPclkDiv32, PpgUpCntPclkDiv64 }
| Enumeration to define clock prescaler of up counter in timing generator. More...
enum | en_ppg_int_mode { PpgHighUnderflow, PpgHighAndLowUnderflow }
| PPG interrupt mode. More...
enum | en_igbt_prohibition_mode { IgbtNormalMode = 0, IgbtStopProhibitionMode }
| Enumeration to define IBGT prohibition mode. More...
enum | en_igbt_filter_width { IgbtNoFilter = 0, IgbtFilter4Pclk, IgbtFilter8Pclk, IgbtFilter16Pclk, IgbtFilter32Pclk }
| Enumeration to define IBGT noise filter width. More...
enum | en_igbt_level { IgbtLevelNormal = 0, IgbtLevelInvert }
| Enumeration to define IBGT input/out level. More...
enum | en_ppg_irq_ch { PpgCh024, PpgCh81012, PpgCh161820 }
| PPG IRQ channel. More...
## Functions
en_result_t | Ppg_Init (uint8_t u8CoupleCh, stc_ppg_config_t *pstcConfig)
| Initialize PPG.
en_result_t | Ppg_StartSoftwareTrig (uint8_t u8Ch)
| Start PPG by software trigger.
en_result_t | Ppg_StopSoftwareTrig (uint8_t u8Ch)
| Stop PPG software trigger.
en_result_t | Ppg_SelGateLevel (uint8_t u8EvenCh, en_ppg_gate_level_t enLevel)
| Set the valid level of GATE signal.
en_result_t | Ppg_ConfigUpCnt0 (stc_ppg_upcnt0_config_t *pstcConfig)
| Configure the up counter of Timing Generator 0.
void | Ppg_StartUpCnt0 (void)
| Start the up counter of Timing Generator 0.
en_stat_flag_t | Ppg_GetUpCnt0Status (void)
| Get the work status of up counter of Timing Generator 0.
en_result_t | Ppg_DisableTimerGen0StartTrig (stc_timer0_gen_ch_t *pstcTimer0GenCh)
| Disable start trigger of Timing Generator 0.
en_result_t | Ppg_ConfigUpCnt1 (stc_ppg_upcnt1_config_t *pstcConfig)
| Configure the up counter of Timing Generator 1.
void | Ppg_StartUpCnt1 (void)
| Start the up counter of Timing Generator 1.
en_stat_flag_t | Ppg_GetUpCnt1Status (void)
| Get the work status of up counter of Timing Generator 1.
en_result_t | Ppg_DisableTimerGen1StartTrig (stc_timer1_gen_ch_t *pstcTimer1GenCh)
| Disable start trigger of Timing Generator 1.
en_result_t | Ppg_ConfigUpCnt2 (stc_ppg_upcnt2_config_t *pstcConfig)
| Configure the up counter of Timing Generator 2.
void | Ppg_StartUpCnt2 (void)
| Start the up counter of Timing Generator 2.
en_stat_flag_t | Ppg_GetUpCnt2Status (void)
| Get the work status of up counter of Timing Generator 2.
en_result_t | Ppg_DisableTimerGen2StartTrig (stc_timer2_gen_ch_t *pstcTimer2GenCh)
| Disable start trigger of Timing Generator 2.
en_result_t | Ppg_EnableInt (uint8_t u8Ch, en_ppg_int_mode_t enIntMode, func_ptr_t pfnCallback)
| Enable PPG interrupt.
en_result_t | Ppg_DisableInt (uint8_t u8Ch)
| Disable PPG interrupt.
en_int_flag_t | Ppg_GetIntFlag (uint8_t u8Ch)
| Get the interrupt flag of PPG.
en_result_t | Ppg_ClrIntFlag (uint8_t u8Ch)
| Clear PPG interrupt flag.
en_result_t | Ppg_SetLevelWidth (uint8_t u8Ch, uint8_t u8LowWidth, uint8_t u8HighWidth)
| Set the pulse width of PPG.
en_result_t | Ppg_InitIgbt (stc_ppg_igbt_config_t *pstcPpgIgbt)
| Initialize IGBT mode.
void | Ppg_EnableIgbtMode (void)
| Enable IGBT mode.
void | Ppg_DisableIgbtMode (void)
| Disable IGBT mode.
void | Ppg_IrqHandler (void)
| PPG interrupt service routine.

## Detailed Description

Headerfile for PPG functions

History:

- 2014-01-15 0.1 Edison Zhang First version.

Definition in file ppg.h.

## Define Documentation

#define PPG_CH0 0

Definition at line 141 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH1 1

Definition at line 142 of file ppg.h.

#define PPG_CH10 10

Definition at line 151 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH11 11

Definition at line 152 of file ppg.h.

#define PPG_CH12 12

Definition at line 153 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH13 13

Definition at line 154 of file ppg.h.

#define PPG_CH14 14

Definition at line 155 of file ppg.h.

#define PPG_CH15 15

Definition at line 156 of file ppg.h.

#define PPG_CH16 16

Definition at line 157 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), Ppg_Init(), Ppg_InitNvic(), Ppg_StartSoftwareTrig(), and Ppg_StopSoftwareTrig().

#define PPG_CH17 17

Definition at line 158 of file ppg.h.

#define PPG_CH18 18

Definition at line 159 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH19 19

Definition at line 160 of file ppg.h.

#define PPG_CH2 2

Definition at line 143 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH20 20

Definition at line 161 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH21 21

Definition at line 162 of file ppg.h.

#define PPG_CH22 22

Definition at line 163 of file ppg.h.

Referenced by Ppg_SelGateLevel().

#define PPG_CH23 23

Definition at line 164 of file ppg.h.

Referenced by Ppg_SetLevelWidth(), Ppg_StartSoftwareTrig(), and Ppg_StopSoftwareTrig().

#define PPG_CH3 3

Definition at line 144 of file ppg.h.

#define PPG_CH4 4

Definition at line 145 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH5 5

Definition at line 146 of file ppg.h.

#define PPG_CH6 6

Definition at line 147 of file ppg.h.

#define PPG_CH7 7

Definition at line 148 of file ppg.h.

#define PPG_CH8 8

Definition at line 149 of file ppg.h.

Referenced by Ppg_ClrIntFlag(), Ppg_DeInitNvic(), Ppg_DisableInt(), Ppg_EnableInt(), Ppg_GetIntFlag(), and Ppg_InitNvic().

#define PPG_CH9 9

Definition at line 150 of file ppg.h.

#define PPG_COUPLE_CH01 0

Definition at line 166 of file ppg.h.

#define PPG_COUPLE_CH1011 10

Definition at line 171 of file ppg.h.

#define PPG_COUPLE_CH1213 12

Definition at line 172 of file ppg.h.

#define PPG_COUPLE_CH1415 14

Definition at line 173 of file ppg.h.

#define PPG_COUPLE_CH1617 16

Definition at line 174 of file ppg.h.

#define PPG_COUPLE_CH1819 18

Definition at line 175 of file ppg.h.

#define PPG_COUPLE_CH2021 20

Definition at line 176 of file ppg.h.

#define PPG_COUPLE_CH2223 22

Definition at line 177 of file ppg.h.

Referenced by Ppg_Init().

#define PPG_COUPLE_CH23 2

Definition at line 167 of file ppg.h.

#define PPG_COUPLE_CH45 4

Definition at line 168 of file ppg.h.

#define PPG_COUPLE_CH67 6

Definition at line 169 of file ppg.h.

#define PPG_COUPLE_CH89 8

Definition at line 170 of file ppg.h.

#define PPG_INT_MAX_CH 9

Definition at line 179 of file ppg.h.

#define PPG_UP_COUNTER_CH0 0

Definition at line 181 of file ppg.h.

#define PPG_UP_COUNTER_CH1 1

Definition at line 182 of file ppg.h.

#define PPG_UP_COUNTER_CH2 2

Definition at line 183 of file ppg.h.

## Typedef Documentation

typedef enum en_igbt_filter_width en_igbt_filter_width_t

Enumeration to define IBGT noise filter width.

typedef enum en_igbt_level en_igbt_level_t

Enumeration to define IBGT input/out level.

typedef enum en_igbt_prohibition_mode en_igbt_prohibition_mode_t

Enumeration to define IBGT prohibition mode.

typedef enum en_ppg_clock en_ppg_clock_t

Enumeration to define PPG count clock prescaler.

typedef enum en_ppg_gate_level en_ppg_gate_level_t

Enumeration to define valid level of GATE signal from MFT.

typedef enum en_ppg_int_mode en_ppg_int_mode_t

PPG interrupt mode.

typedef enum en_ppg_irq_ch en_ppg_irq_ch_t

PPG IRQ channel.

typedef enum en_ppg_level en_ppg_level_t

Enumeration to define PPG output initial level.

typedef enum en_ppg_opt_mode en_ppg_opt_mode_t

Enumeration to define PPG operation mode.

Note:
  only following combination of 4 channel is valid: Ch0_Ch1 Ch2_Ch3 Ppg8Bit8Bit Ppg8Bit8Bit Ppg8Bit8Bit Ppg8Bit8Pres Ppg8Bit8Bit Ppg16Bit Ppg8Bit8Pres Ppg8Bit8Bit Ppg8Bit8Pres Ppg8Bit8Pres Ppg8Bit8Pres Ppg16Bit Ppg16Bit Ppg8Bit8Bit Ppg16Bit Ppg8Bit8Pres Ppg16Bit Ppg16Bit Ppg16Bit16Pres Ppg16Bit16Pres [Act as Prescaler]

typedef enum en_ppg_trig en_ppg_trig_t

Enumeration to define PPG trigger.

typedef enum en_ppg_upcnt_clk en_ppg_upcnt_clk_t

Enumeration to define clock prescaler of up counter in timing generator.

typedef struct stc_ppg_config stc_ppg_config_t

Structure to config PPG.

typedef struct stc_ppg_igbt_config stc_ppg_igbt_config_t

structure of PPG IGBT configuration

typedef struct stc_ppg_upcnt0_config stc_ppg_upcnt0_config_t

Up counter0 configuration.

typedef struct stc_ppg_upcnt1_config stc_ppg_upcnt1_config_t

Up counter1 configuration.

typedef struct stc_ppg_upcnt2_config stc_ppg_upcnt2_config_t

Up counter2 configuration.

typedef struct stc_timer0_gen_ch stc_timer0_gen_ch_t

Up counter0 stop channels selection.

typedef struct stc_timer1_gen_ch stc_timer1_gen_ch_t

Up counter1 stop channels selection.

typedef struct stc_timer2_gen_ch stc_timer2_gen_ch_t

Up counter2 stop channels selection.

## Enumeration Type Documentation

enum en_igbt_filter_width

Enumeration to define IBGT noise filter width.

Enumerator:

  IgbtNoFilter | No noise filter.
  IgbtFilter4Pclk | noise filter width: 4PCLK
  IgbtFilter8Pclk | noise filter width: 8PCLK
  IgbtFilter16Pclk | noise filter width: 16PCLK
  IgbtFilter32Pclk | noise filter width: 32PCLK

Definition at line 394 of file ppg.h.

enum en_igbt_level

Enumeration to define IBGT input/out level.

Enumerator:

  IgbtLevelNormal | Normal.
  IgbtLevelInvert | Invert.

Definition at line 408 of file ppg.h.

enum en_igbt_prohibition_mode

Enumeration to define IBGT prohibition mode.

Enumerator:

  IgbtNormalMode | Normal mode.
  IgbtStopProhibitionMode | Stop prohibition mode in output active.

Definition at line 383 of file ppg.h.

enum en_ppg_clock

Enumeration to define PPG count clock prescaler.

Enumerator:

  PpgPclkDiv1 | PPG count clock prescaler: 1.
  PpgPclkDiv4 | PPG count clock prescaler: 1/4.
  PpgPclkDiv16 | PPG count clock prescaler: 1/16.
  PpgPclkDiv64 | PPG count clock prescaler: 1/64.

Definition at line 215 of file ppg.h.

enum en_ppg_gate_level

Enumeration to define valid level of GATE signal from MFT.

Enumerator:

  PpgGateHighActive | GATE valid level: High.
  PpgGateLowActive | GATE valid level: Low.

Definition at line 266 of file ppg.h.

enum en_ppg_int_mode

PPG interrupt mode.

Enumerator:

  PpgHighUnderflow | Generate interrupt when high width count underflows.
  PpgHighAndLowUnderflow | Generate interrupt when high or low width count underflows.

Definition at line 372 of file ppg.h.

enum en_ppg_irq_ch

PPG IRQ channel.

Enumerator:

  PpgCh024 | IRQ 36 for PPG ch.0,2,4.
  PpgCh81012 | IRQ 37 for PPG ch.8,10,12.
  PpgCh161820 | IRQ 38 for PPG ch.16,18,20.

Definition at line 433 of file ppg.h.

enum en_ppg_level

Enumeration to define PPG output initial level.

Enumerator:

  PpgNormalLevel | Initial level: Low.
  PpgReverseLevel | Initial level: High.

Definition at line 240 of file ppg.h.

enum en_ppg_opt_mode

Enumeration to define PPG operation mode.

Note:
  only following combination of 4 channel is valid: Ch0_Ch1 Ch2_Ch3 Ppg8Bit8Bit Ppg8Bit8Bit Ppg8Bit8Bit Ppg8Bit8Pres Ppg8Bit8Bit Ppg16Bit Ppg8Bit8Pres Ppg8Bit8Bit Ppg8Bit8Pres Ppg8Bit8Pres Ppg8Bit8Pres Ppg16Bit Ppg16Bit Ppg8Bit8Bit Ppg16Bit Ppg8Bit8Pres Ppg16Bit Ppg16Bit Ppg16Bit16Pres Ppg16Bit16Pres [Act as Prescaler]

Enumerator:

  Ppg8Bit8Bit | Even channel: 8bit PPG, odd channel: 8bit PPG.
  Ppg8Bit8Pres | Even channel: 8bit PPG, odd channel: 8bit prescaler.
  Ppg16Bit | 16bit PPG
  Ppg16Bit16Pres | 16bit PPG + 16 prescaler (provided by next couple channel)

Definition at line 202 of file ppg.h.

enum en_ppg_trig

Enumeration to define PPG trigger.

Enumerator:

  PpgSoftwareTrig | Use software to trigger PPG.
  PpgMftGateTrig | Use GATE signal from MFT to trigger PPG.
  PpgTimingGenTrig | Use Timing Generator to trigger PPG.

Definition at line 228 of file ppg.h.

enum en_ppg_upcnt_clk

Enumeration to define clock prescaler of up counter in timing generator.

Enumerator:

  PpgUpCntPclkDiv2 | Up counter clock prescaler: 1/2.
  PpgUpCntPclkDiv8 | Up counter clock prescaler: 1/8.
  PpgUpCntPclkDiv32 | Up counter clock prescaler: 1/32.
  PpgUpCntPclkDiv64 | Up counter clock prescaler: 1/64.

Definition at line 278 of file ppg.h.

## Function Documentation

en_result_t Ppg_ClrIntFlag | ( | uint8_t | u8Ch | ) |

Clear PPG interrupt flag.

Parameters:

  [in] | u8Ch | PPG channel PPG_CHx, x=0,2,4,8,10,12,16,18,20

Return values:

  Ok | Clear PPG interrupt flag successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch != ch.0,2,4,8,10,12,16,18,20

Definition at line 855 of file ppg.c.

References ErrorInvalidParameter, Ok, PPG_CH0, PPG_CH10, PPG_CH12, PPG_CH16, PPG_CH18, PPG_CH2, PPG_CH20, PPG_CH4, and PPG_CH8.

en_result_t Ppg_ConfigUpCnt0 | ( | stc_ppg_upcnt0_config_t * | pstcConfig | ) |

Configure the up counter of Timing Generator 0.

Parameters:

  [in] | pstcConfig | Pointer to up counter 0 configuration structure

Return values:

  Ok | Configure the up counter successfully
  ErrorInvalidParameter | If one of following conditions are met: pstcConfig != NULL pstcConfig->enClk > PpgUpCntPclkDiv64

Definition at line 439 of file ppg.c.

References stc_ppg_upcnt0_config::enClk, ErrorInvalidParameter, Ok, PpgUpCntPclkDiv64, stc_ppg_upcnt0_config::u8CmpValue0, stc_ppg_upcnt0_config::u8CmpValue2, stc_ppg_upcnt0_config::u8CmpValue4, and stc_ppg_upcnt0_config::u8CmpValue6.

en_result_t Ppg_ConfigUpCnt1 | ( | stc_ppg_upcnt1_config_t * | pstcConfig | ) |

Configure the up counter of Timing Generator 1.

Parameters:

  [in] | pstcConfig | Pointer to up counter 1 configuration structure

Return values:

  Ok | Configure the up counter successfully
  ErrorInvalidParameter | If one of following conditions are met: pstcConfig != NULL pstcConfig->enClk > PpgUpCntPclkDiv64

Definition at line 523 of file ppg.c.

References stc_ppg_upcnt1_config::enClk, ErrorInvalidParameter, Ok, PpgUpCntPclkDiv64, stc_ppg_upcnt1_config::u8CmpValue10, stc_ppg_upcnt1_config::u8CmpValue12, stc_ppg_upcnt1_config::u8CmpValue14, and stc_ppg_upcnt1_config::u8CmpValue8.

en_result_t Ppg_ConfigUpCnt2 | ( | stc_ppg_upcnt2_config_t * | pstcConfig | ) |

Configure the up counter of Timing Generator 2.

Parameters:

  [in] | pstcConfig | Pointer to up counter 2 configuration structure

Return values:

  Ok | Configure the up counter successfully
  ErrorInvalidParameter | If one of following conditions are met: pstcConfig != NULL pstcConfig->enClk > PpgUpCntPclkDiv64

Definition at line 606 of file ppg.c.

References stc_ppg_upcnt2_config::enClk, ErrorInvalidParameter, Ok, PpgUpCntPclkDiv64, stc_ppg_upcnt2_config::u8CmpValue16, stc_ppg_upcnt2_config::u8CmpValue18, stc_ppg_upcnt2_config::u8CmpValue20, and stc_ppg_upcnt2_config::u8CmpValue22.

void Ppg_DisableIgbtMode | ( | void |  | ) |

Disable IGBT mode.

Definition at line 974 of file ppg.c.

en_result_t Ppg_DisableInt | ( | uint8_t | u8Ch | ) |

Disable PPG interrupt.

Parameters:

  [in] | u8Ch | PPG channel PPG_CHx, x=0,2,4,8,10,12,16,18,20

Return values:

  Ok | Disable PPG interrupt successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch != ch.0,2,4,8,10,12,16,18,20

Definition at line 754 of file ppg.c.

References ErrorInvalidParameter, Ok, pfnPpgCallback, PPG_CH0, PPG_CH10, PPG_CH12, PPG_CH16, PPG_CH18, PPG_CH2, PPG_CH20, PPG_CH4, PPG_CH8, and Ppg_DeInitNvic().

Here is the call graph for this function:

en_result_t Ppg_DisableTimerGen0StartTrig | ( | stc_timer0_gen_ch_t * | pstcTimer0GenCh | ) |

Disable start trigger of Timing Generator 0.

Parameters:

  pstcTimer0GenCh | Pointer to the structure of selected channels (ch.0,2,4,6)

Return values:

  Ok | Disable start trigger
  ErrorInvalidParameter | If one of following conditions are met: pstcTimer0GenCh->bPpgChx isn't bool type

Definition at line 494 of file ppg.c.

References stc_timer0_gen_ch::bPpgCh0, stc_timer0_gen_ch::bPpgCh2, stc_timer0_gen_ch::bPpgCh4, stc_timer0_gen_ch::bPpgCh6, ErrorInvalidParameter, and Ok.

en_result_t Ppg_DisableTimerGen1StartTrig | ( | stc_timer1_gen_ch_t * | pstcTimer1GenCh | ) |

Disable start trigger of Timing Generator 1.

Parameters:

  pstcTimer1GenCh | Pointer to the structure of selected channels (ch.8,10,12,14)

Return values:

  Ok | Disable start trigger
  ErrorInvalidParameter | If one of following conditions are met: pstcTimer0GenCh->bPpgChx isn't bool type

Definition at line 577 of file ppg.c.

References stc_timer1_gen_ch::bPpgCh10, stc_timer1_gen_ch::bPpgCh12, stc_timer1_gen_ch::bPpgCh14, stc_timer1_gen_ch::bPpgCh8, ErrorInvalidParameter, and Ok.

en_result_t Ppg_DisableTimerGen2StartTrig | ( | stc_timer2_gen_ch_t * | pstcTimer2GenCh | ) |

Disable start trigger of Timing Generator 2.

Parameters:

  pstcTimer2GenCh | Pointer to the structure of selected channels (ch.16,18,20,22)

Return values:

  Ok | Disable start trigger
  ErrorInvalidParameter | If one of following conditions are met: pstcTimer0GenCh->bPpgChx isn't bool type

Definition at line 658 of file ppg.c.

References stc_timer2_gen_ch::bPpgCh16, stc_timer2_gen_ch::bPpgCh18, stc_timer2_gen_ch::bPpgCh20, stc_timer2_gen_ch::bPpgCh22, ErrorInvalidParameter, and Ok.

void Ppg_EnableIgbtMode | ( | void |  | ) |

Enable IGBT mode.

Note:
  Only PPG0 and PP4 supports IGBT mode.

Definition at line 965 of file ppg.c.

en_result_t Ppg_EnableInt | ( | uint8_t | u8Ch,
|  | en_ppg_int_mode_t | enIntMode,
|  | func_ptr_t | pfnCallback
| ) |  |

Enable PPG interrupt.

Parameters:

  [in] | u8Ch | PPG channel PPG_CHx, x=0,2,4,8,10,12,16,18,20
  [in] | enIntMode | Interrupt mode PpgHighUnderflow Generate interrupt when high width count underflows PpgHighAndLowUnderflow Generate interrupt when high or low width count underflows
  [in] | pfnCallback | Pointer to interrupt callback function

Return values:

  Ok | Enable PPG interrupt successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch != ch.0,2,4,8,10,12,16,18,20 enIntMode > PpgHighAndLowUnderflow pfnCallback == NULL

Definition at line 694 of file ppg.c.

References ErrorInvalidParameter, Ok, pfnPpgCallback, PPG_CH0, PPG_CH10, PPG_CH12, PPG_CH16, PPG_CH18, PPG_CH2, PPG_CH20, PPG_CH4, PPG_CH8, Ppg_InitNvic(), and PpgHighAndLowUnderflow.

Here is the call graph for this function:

en_int_flag_t Ppg_GetIntFlag | ( | uint8_t | u8Ch | ) |

Get the interrupt flag of PPG.

Parameters:

  [in] | u8Ch | PPG channel PPG_CHx, x=0,2,4,8,10,12,16,18,20

Return values:

  PdlSet | Interrupt flag set
  PdlClr | Interrupt flag clear

Definition at line 808 of file ppg.c.

References PdlClr, PdlSet, PPG_CH0, PPG_CH10, PPG_CH12, PPG_CH16, PPG_CH18, PPG_CH2, PPG_CH20, PPG_CH4, and PPG_CH8.

en_stat_flag_t Ppg_GetUpCnt0Status | ( | void |  | ) |

Get the work status of up counter of Timing Generator 0.

Return values:

  PdlSet | Up counter is counting
  PdlClr | Up counter stops

Definition at line 473 of file ppg.c.

References PdlClr, and PdlSet.

en_stat_flag_t Ppg_GetUpCnt1Status | ( | void |  | ) |

Get the work status of up counter of Timing Generator 1.

Return values:

  PdlSet | Up counter is counting
  PdlClr | Up counter stops

Definition at line 556 of file ppg.c.

References PdlClr, and PdlSet.

en_stat_flag_t Ppg_GetUpCnt2Status | ( | void |  | ) |

Get the work status of up counter of Timing Generator 2.

Return values:

  PdlSet | Up counter is counting
  PdlClr | Up counter stops

Definition at line 639 of file ppg.c.

References PdlClr, and PdlSet.

en_result_t Ppg_Init | ( | uint8_t | u8CoupleCh,
|  | stc_ppg_config_t * | pstcConfig
| ) |  |

Initialize PPG.

Parameters:

  [in] | u8CoupleCh | a couple PPG channel PPG_COUPLE_CH01 ~ PPG_COUPLE_CH2223
  [in] | pstcConfig | pointer to PPG configuration structure

Return values:

  Ok | Configure the PPG successfully
  ErrorInvalidParameter | If one of following conditions are met: u8CoupleCh%2 !=0 u8CoupleCh > PPG_COUPLE_CH2223 Parameter error of PPG configuration structure

Definition at line 235 of file ppg.c.

References stc_ppg_config::enEvenClock, stc_ppg_config::enEvenLevel, stc_ppg_config::enMode, stc_ppg_config::enOddClock, stc_ppg_config::enOddLevel, stc_ppg_config::enTrig, ErrorInvalidParameter, Ok, Ppg16Bit16Pres, PPG_CH16, PPG_COUPLE_CH2223, PpgMftGateTrig, PpgPclkDiv64, PpgReverseLevel, PpgSoftwareTrig, and PpgTimingGenTrig.

en_result_t Ppg_InitIgbt | ( | stc_ppg_igbt_config_t * | pstcPpgIgbt | ) |

Initialize IGBT mode.

Parameters:

  [in] | pstcPpgIgbt | pointer to IBGT configuration structure

Return values:

  ErrorInvalidParameter | If one of following conditions are met: pstcPpgIgbt == NULL Other error configuration

Definition at line 929 of file ppg.c.

References stc_ppg_igbt_config::enIgbt0OutputLevel, stc_ppg_igbt_config::enIgbt1OutputLevel, stc_ppg_igbt_config::enMode, stc_ppg_igbt_config::enTrigInputLevel, stc_ppg_igbt_config::enWidth, ErrorInvalidParameter, IgbtFilter32Pclk, IgbtLevelInvert, IgbtStopProhibitionMode, and Ok.

void Ppg_IrqHandler | ( | void |  | ) |

PPG interrupt service routine.

Definition at line 152 of file ppg.c.

References pfnPpgCallback.

Referenced by PPG_IRQHandler().

Here is the caller graph for this function:

en_result_t Ppg_SelGateLevel | ( | uint8_t | u8EvenCh,
|  | en_ppg_gate_level_t | enLevel
| ) |  |

Set the valid level of GATE signal.

Parameters:

  [in] | u8EvenCh | an even channel of PPG PPG_CH0~PPG_CH22
  [in] | enLevel | Valid level

Return values:

  Ok | Set the valid level of GATE signal successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch > PPG_CH22 u8EvenCh%2 != 0 enLevel > PpgGateLowActive

Definition at line 401 of file ppg.c.

References ErrorInvalidParameter, Ok, PPG_CH22, and PpgGateLowActive.

en_result_t Ppg_SetLevelWidth | ( | uint8_t | u8Ch,
|  | uint8_t | u8LowWidth,
|  | uint8_t | u8HighWidth
| ) |  |

Set the pulse width of PPG.

Parameters:

  [in] | u8Ch | PPG channel PPG_CH0~PPG_CH23
  [in] | u8LowWidth | Low level width of PPG
  [in] | u8HighWidth | High level width of PPG

Return values:

  Ok | Set the pulse width of PPG successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch > PPG_CH23

Definition at line 899 of file ppg.c.

References ErrorInvalidParameter, Ok, and PPG_CH23.

en_result_t Ppg_StartSoftwareTrig | ( | uint8_t | u8Ch | ) |

Start PPG by software trigger.

Parameters:

  [in] | u8Ch | PPG channel PPG_CH0~PPG_CH23

Return values:

  Ok | Configure the PPG successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch > PPG_CH23

Definition at line 336 of file ppg.c.

References ErrorInvalidParameter, Ok, PPG_CH16, and PPG_CH23.

void Ppg_StartUpCnt0 | ( | void |  | ) |

Start the up counter of Timing Generator 0.

Definition at line 460 of file ppg.c.

void Ppg_StartUpCnt1 | ( | void |  | ) |

Start the up counter of Timing Generator 1.

Definition at line 543 of file ppg.c.

void Ppg_StartUpCnt2 | ( | void |  | ) |

Start the up counter of Timing Generator 2.

Definition at line 626 of file ppg.c.

en_result_t Ppg_StopSoftwareTrig | ( | uint8_t | u8Ch | ) |

Stop PPG software trigger.

Parameters:

  [in] | u8Ch | PPG channel PPG_CH0~PPG_CH23

Return values:

  Ok | Configure the PPG successfully
  ErrorInvalidParameter | If one of following conditions are met: u8Ch > PPG_CH23

Definition at line 367 of file ppg.c.

References ErrorInvalidParameter, Ok, PPG_CH16, and PPG_CH23.