HPM SDK
HPMicro Software Development Kit
TRGM driver APIs

TRGM driver APIs. More...

Data Structures

struct  trgm_input_filter
 Filter configuration. More...
 
struct  trgm_output
 Output configuration. More...
 

Typedefs

typedef enum trgm_filter_mode trgm_filter_mode_t
 Filter mode. More...
 
typedef enum trgm_output_type trgm_output_type_t
 Output type. More...
 
typedef struct trgm_input_filter trgm_filter_t
 Filter configuration. More...
 
typedef trgm_filter_t trgm_input_filter_t
 
typedef struct trgm_output trgm_output_t
 Output configuration. More...
 

Enumerations

enum  trgm_filter_mode {
  trgm_filter_mode_bypass = 0 , trgm_filter_mode_rapid_change = 4 , trgm_filter_mode_delay = 5 , trgm_filter_mode_stable_low = 6 ,
  trgm_filter_mode_stable_high = 7
}
 Filter mode. More...
 
enum  trgm_output_type { trgm_output_same_as_input = 0 , trgm_output_pulse_at_input_falling_edge = TRGM_TRGOCFG_FEDG2PEN_MASK , trgm_output_pulse_at_input_rising_edge = TRGM_TRGOCFG_REDG2PEN_MASK , trgm_output_pulse_at_input_both_edge }
 Output type. More...
 
enum  trgm_pwmv2_calibration_mode_t { trgm_pwmv2_calibration_mode_begin = 0 , trgm_pwmv2_calibration_mode_wait = 1 , trgm_pwmv2_calibration_mode_end = 2 }
 

Functions

static void trgm_enable_io_output (TRGM_Type *ptr, uint32_t mask)
 Enable IO output. More...
 
static void trgm_disable_io_output (TRGM_Type *ptr, uint32_t mask)
 Disable IO output. More...
 
static void trgm_filter_set_filter_length (TRGM_Type *ptr, uint8_t input, uint32_t length)
 Set filter length. More...
 
static void trgm_filter_set_filter_shift (TRGM_Type *ptr, uint8_t input, uint8_t shift)
 Set filter length shift. More...
 
static void trgm_filter_enable_sync (TRGM_Type *ptr, uint8_t input)
 Enable sync input with TRGM clock. More...
 
static void trgm_filter_disable_sync (TRGM_Type *ptr, uint8_t input)
 Disable sync input with TRGM clock. More...
 
static void trgm_filter_set_mode (TRGM_Type *ptr, uint8_t input, trgm_filter_mode_t mode)
 Set filter working mode. More...
 
static void trgm_filter_invert (TRGM_Type *ptr, uint8_t input, bool invert)
 Invert filter output. More...
 
static void trgm_filter_config (TRGM_Type *ptr, uint8_t input, trgm_filter_t *filter)
 Configure filter. More...
 
static void trgm_input_filter_set_filter_length (TRGM_Type *ptr, uint8_t input, uint32_t length)
 Set filter length, legacy API for compatibility. More...
 
static void trgm_input_filter_set_filter_shift (TRGM_Type *ptr, uint8_t input, uint8_t shift)
 Set filter length shift, legacy API for compatibility. More...
 
static void trgm_input_filter_enable_sync (TRGM_Type *ptr, uint8_t input)
 Enable sync input with TRGM clock, legacy API for compatibility. More...
 
static void trgm_input_filter_disable_sync (TRGM_Type *ptr, uint8_t input)
 Disable sync input with TRGM clock, legacy API for compatibility. More...
 
static void trgm_input_filter_set_mode (TRGM_Type *ptr, uint8_t input, trgm_filter_mode_t mode)
 Set filter working mode, legacy API for compatibility. More...
 
static void trgm_input_filter_invert (TRGM_Type *ptr, uint8_t input, bool invert)
 Invert filter output, legacy API for compatibility. More...
 
static void trgm_input_filter_config (TRGM_Type *ptr, uint8_t input, trgm_input_filter_t *filter)
 Configure filter, legacy API for compatibility. More...
 
static void trgm_output_update_source (TRGM_Type *ptr, uint8_t output, uint8_t source)
 Update source for TRGM output. More...
 
static void trgm_output_config (TRGM_Type *ptr, uint8_t output, trgm_output_t *config)
 Configure output. More...
 
static void trgm_dma_request_config (TRGM_Type *ptr, uint8_t dma_out, uint8_t dma_src)
 Configure DMA request. More...
 

Detailed Description

TRGM driver APIs.

Typedef Documentation

◆ trgm_filter_mode_t

#include <drivers/inc/hpm_trgm_drv.h>

Filter mode.

◆ trgm_filter_t

#include <drivers/inc/hpm_trgm_drv.h>

Filter configuration.

◆ trgm_input_filter_t

◆ trgm_output_t

typedef struct trgm_output trgm_output_t

#include <drivers/inc/hpm_trgm_drv.h>

Output configuration.

◆ trgm_output_type_t

#include <drivers/inc/hpm_trgm_drv.h>

Output type.

Enumeration Type Documentation

◆ trgm_filter_mode

#include <drivers/inc/hpm_trgm_drv.h>

Filter mode.

Enumerator
trgm_filter_mode_bypass 
trgm_filter_mode_rapid_change 
trgm_filter_mode_delay 
trgm_filter_mode_stable_low 
trgm_filter_mode_stable_high 

◆ trgm_output_type

#include <drivers/inc/hpm_trgm_drv.h>

Output type.

Enumerator
trgm_output_same_as_input 
trgm_output_pulse_at_input_falling_edge 
trgm_output_pulse_at_input_rising_edge 
trgm_output_pulse_at_input_both_edge 

◆ trgm_pwmv2_calibration_mode_t

#include <drivers/inc/hpm_trgm_drv.h>

Enumerator
trgm_pwmv2_calibration_mode_begin 
trgm_pwmv2_calibration_mode_wait 
trgm_pwmv2_calibration_mode_end 

Function Documentation

◆ trgm_disable_io_output()

static void trgm_disable_io_output ( TRGM_Type ptr,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Disable IO output.

Parameters
[in]ptrTRGM base address
[in]maskMask of IOs to be disabled

◆ trgm_dma_request_config()

static void trgm_dma_request_config ( TRGM_Type ptr,
uint8_t  dma_out,
uint8_t  dma_src 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Configure DMA request.

Parameters
[in]ptrTRGM base address
[in]dma_outTarget DMA out
[in]dma_srcDMA source selection

◆ trgm_enable_io_output()

static void trgm_enable_io_output ( TRGM_Type ptr,
uint32_t  mask 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Enable IO output.

Parameters
[in]ptrTRGM base address
[in]maskMask of IOs to be enabled

◆ trgm_filter_config()

static void trgm_filter_config ( TRGM_Type ptr,
uint8_t  input,
trgm_filter_t filter 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Configure filter.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]filterPointer to filter configuration

◆ trgm_filter_disable_sync()

static void trgm_filter_disable_sync ( TRGM_Type ptr,
uint8_t  input 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Disable sync input with TRGM clock.

Parameters
[in]ptrTRGM base address
[in]inputInput selection

◆ trgm_filter_enable_sync()

static void trgm_filter_enable_sync ( TRGM_Type ptr,
uint8_t  input 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Enable sync input with TRGM clock.

Parameters
[in]ptrTRGM base address
[in]inputInput selection

◆ trgm_filter_invert()

static void trgm_filter_invert ( TRGM_Type ptr,
uint8_t  input,
bool  invert 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Invert filter output.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]invertSet true to invert output

◆ trgm_filter_set_filter_length()

static void trgm_filter_set_filter_length ( TRGM_Type ptr,
uint8_t  input,
uint32_t  length 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter length.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]lengthFilter length in TRGM clock cycles

◆ trgm_filter_set_filter_shift()

static void trgm_filter_set_filter_shift ( TRGM_Type ptr,
uint8_t  input,
uint8_t  shift 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter length shift.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]shiftFilter length shift

◆ trgm_filter_set_mode()

static void trgm_filter_set_mode ( TRGM_Type ptr,
uint8_t  input,
trgm_filter_mode_t  mode 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter working mode.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]modeWorking mode

◆ trgm_input_filter_config()

static void trgm_input_filter_config ( TRGM_Type ptr,
uint8_t  input,
trgm_input_filter_t filter 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Configure filter, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]filterPointer to filter configuration

◆ trgm_input_filter_disable_sync()

static void trgm_input_filter_disable_sync ( TRGM_Type ptr,
uint8_t  input 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Disable sync input with TRGM clock, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection

◆ trgm_input_filter_enable_sync()

static void trgm_input_filter_enable_sync ( TRGM_Type ptr,
uint8_t  input 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Enable sync input with TRGM clock, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection

◆ trgm_input_filter_invert()

static void trgm_input_filter_invert ( TRGM_Type ptr,
uint8_t  input,
bool  invert 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Invert filter output, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]invertSet true to invert output

◆ trgm_input_filter_set_filter_length()

static void trgm_input_filter_set_filter_length ( TRGM_Type ptr,
uint8_t  input,
uint32_t  length 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter length, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]lengthFilter length in TRGM clock cycles

◆ trgm_input_filter_set_filter_shift()

static void trgm_input_filter_set_filter_shift ( TRGM_Type ptr,
uint8_t  input,
uint8_t  shift 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter length shift, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]shiftFilter length shift

◆ trgm_input_filter_set_mode()

static void trgm_input_filter_set_mode ( TRGM_Type ptr,
uint8_t  input,
trgm_filter_mode_t  mode 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Set filter working mode, legacy API for compatibility.

Parameters
[in]ptrTRGM base address
[in]inputInput selection
[in]modeWorking mode

◆ trgm_output_config()

static void trgm_output_config ( TRGM_Type ptr,
uint8_t  output,
trgm_output_t config 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Configure output.

Parameters
[in]ptrTRGM base address
[in]outputTarget output
[in]configPointer to output configuration

◆ trgm_output_update_source()

static void trgm_output_update_source ( TRGM_Type ptr,
uint8_t  output,
uint8_t  source 
)
inlinestatic

#include <drivers/inc/hpm_trgm_drv.h>

Update source for TRGM output.

Parameters
[in]ptrTRGM base address
[in]outputTarget output
[in]sourceSource for output