PDL for FM0+  Version1.0
Peripheral Driverl Library for FM0+
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
#define PPG_CH1   1

Definition at line 142 of file ppg.h.

#define PPG_CH10   10
#define PPG_CH11   11

Definition at line 152 of file ppg.h.

#define PPG_CH12   12
#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_CH17   17

Definition at line 158 of file ppg.h.

#define PPG_CH18   18
#define PPG_CH19   19

Definition at line 160 of file ppg.h.

#define PPG_CH2   2
#define PPG_CH20   20
#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
#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
#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

Enumeration to define IBGT noise filter width.

Enumeration to define IBGT input/out level.

Enumeration to define IBGT prohibition mode.

Enumeration to define PPG count clock prescaler.

Enumeration to define valid level of GATE signal from MFT.

PPG interrupt mode.

PPG IRQ channel.

Enumeration to define PPG output initial level.

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.

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

Structure to config PPG.

structure of PPG IGBT configuration

Up counter0 configuration.

Up counter1 configuration.

Up counter2 configuration.

Up counter0 stop channels selection.

Up counter1 stop channels selection.

Up counter2 stop channels selection.


Enumeration Type Documentation

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.

Enumeration to define IBGT input/out level.

Enumerator:
IgbtLevelNormal 

Normal.

IgbtLevelInvert 

Invert.

Definition at line 408 of file ppg.h.

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.

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.

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.

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.

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.

Enumeration to define PPG output initial level.

Enumerator:
PpgNormalLevel 

Initial level: Low.

PpgReverseLevel 

Initial level: High.

Definition at line 240 of file ppg.h.

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.

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.

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]u8ChPPG channel
  • PPG_CHx, x=0,2,4,8,10,12,16,18,20
Return values:
OkClear PPG interrupt flag successfully
ErrorInvalidParameterIf 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.

Configure the up counter of Timing Generator 0.

Parameters:
[in]pstcConfigPointer to up counter 0 configuration structure
Return values:
OkConfigure the up counter successfully
ErrorInvalidParameterIf 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.

Configure the up counter of Timing Generator 1.

Parameters:
[in]pstcConfigPointer to up counter 1 configuration structure
Return values:
OkConfigure the up counter successfully
ErrorInvalidParameterIf 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.

Configure the up counter of Timing Generator 2.

Parameters:
[in]pstcConfigPointer to up counter 2 configuration structure
Return values:
OkConfigure the up counter successfully
ErrorInvalidParameterIf 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]u8ChPPG channel
  • PPG_CHx, x=0,2,4,8,10,12,16,18,20
Return values:
OkDisable PPG interrupt successfully
ErrorInvalidParameterIf 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:

Disable start trigger of Timing Generator 0.

Parameters:
pstcTimer0GenChPointer to the structure of selected channels (ch.0,2,4,6)
Return values:
OkDisable start trigger
ErrorInvalidParameterIf 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.

Disable start trigger of Timing Generator 1.

Parameters:
pstcTimer1GenChPointer to the structure of selected channels (ch.8,10,12,14)
Return values:
OkDisable start trigger
ErrorInvalidParameterIf 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.

Disable start trigger of Timing Generator 2.

Parameters:
pstcTimer2GenChPointer to the structure of selected channels (ch.16,18,20,22)
Return values:
OkDisable start trigger
ErrorInvalidParameterIf 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]u8ChPPG channel
  • PPG_CHx, x=0,2,4,8,10,12,16,18,20
[in]enIntModeInterrupt mode
  • PpgHighUnderflow Generate interrupt when high width count underflows
  • PpgHighAndLowUnderflow Generate interrupt when high or low width count underflows
[in]pfnCallbackPointer to interrupt callback function
Return values:
OkEnable PPG interrupt successfully
ErrorInvalidParameterIf 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]u8ChPPG channel
  • PPG_CHx, x=0,2,4,8,10,12,16,18,20
Return values:
PdlSetInterrupt flag set
PdlClrInterrupt 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.

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

Return values:
PdlSetUp counter is counting
PdlClrUp counter stops

Definition at line 473 of file ppg.c.

References PdlClr, and PdlSet.

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

Return values:
PdlSetUp counter is counting
PdlClrUp counter stops

Definition at line 556 of file ppg.c.

References PdlClr, and PdlSet.

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

Return values:
PdlSetUp counter is counting
PdlClrUp 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]u8CoupleCha couple PPG channel
  • PPG_COUPLE_CH01 ~ PPG_COUPLE_CH2223
[in]pstcConfigpointer to PPG configuration structure
Return values:
OkConfigure the PPG successfully
ErrorInvalidParameterIf 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.

Initialize IGBT mode.

Parameters:
[in]pstcPpgIgbtpointer to IBGT configuration structure
Return values:
ErrorInvalidParameterIf 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]u8EvenChan even channel of PPG
  • PPG_CH0~PPG_CH22
[in]enLevelValid level
Return values:
OkSet the valid level of GATE signal successfully
ErrorInvalidParameterIf 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]u8ChPPG channel
  • PPG_CH0~PPG_CH23
[in]u8LowWidthLow level width of PPG
[in]u8HighWidthHigh level width of PPG
Return values:
OkSet the pulse width of PPG successfully
ErrorInvalidParameterIf one of following conditions are met:
  • u8Ch > PPG_CH23

Definition at line 899 of file ppg.c.

References ErrorInvalidParameter, Ok, and PPG_CH23.

Start PPG by software trigger.

Parameters:
[in]u8ChPPG channel
  • PPG_CH0~PPG_CH23
Return values:
OkConfigure the PPG successfully
ErrorInvalidParameterIf 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]u8ChPPG channel
  • PPG_CH0~PPG_CH23
Return values:
OkConfigure the PPG successfully
ErrorInvalidParameterIf 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.