Astra MCU SDK Peripheral Driver Library
 
Loading...
Searching...
No Matches
Enumerated Types

Enumerated types for SPWM driver. More...

Enumerations

enum  spwm_status_en {
  SPWM_OK = 0 ,
  SPWM_ERROR ,
  SPWM_ERROR_PARAMETER ,
  SPWM_ERROR_UNSUPPORTED ,
  SPWM_ERROR_BUSY ,
  SPWM_ERROR_TIMEOUT ,
  SPWM_ERROR_NOT_INITIALIZED
}
 SPWM return status codes. More...
 
enum  spwm_mode_en {
  SPWM_MODE_TIMER = 0 ,
  SPWM_MODE_RESERVED1 ,
  SPWM_MODE_CAPTURE ,
  SPWM_MODE_QUAD ,
  SPWM_MODE_PWM ,
  SPWM_MODE_PWM_DT ,
  SPWM_MODE_PWM_PR ,
  SPWM_MODE_SR
}
 SPWM operating mode selection. More...
 
enum  spwm_count_mode_en {
  SPWM_COUNT_UP = 0 ,
  SPWM_COUNT_DOWN ,
  SPWM_COUNT_UPDOWN1 ,
  SPWM_COUNT_UPDOWN2
}
 Counting direction modes. More...
 
enum  spwm_quad_mode_en {
  SPWM_QUAD_MODE_RANGE0 = 0 ,
  SPWM_QUAD_MODE_RANGE0_CMP ,
  SPWM_QUAD_MODE_RANGE1_CAPT ,
  SPWM_QUAD_MODE_RANGE1_CMP ,
  SPWM_QUAD_MODE_RANGE1_NUM
}
 Quadrature decoder modes. More...
 
enum  spwm_quad_encoding_en {
  SPWM_QUAD_ENC_X1 = 0 ,
  SPWM_QUAD_ENC_X2 ,
  SPWM_QUAD_ENC_X4 ,
  SPWM_QUAD_ENC_UP_DOWN ,
  SPWM_QUAD_ENC_NUM
}
 Quadrature encoding modes. More...
 
enum  spwm_prescale_en {
  SPWM_PRESCALE_DIV1 = 0 ,
  SPWM_PRESCALE_DIV2 ,
  SPWM_PRESCALE_DIV4 ,
  SPWM_PRESCALE_DIV8 ,
  SPWM_PRESCALE_DIV16 ,
  SPWM_PRESCALE_DIV32 ,
  SPWM_PRESCALE_DIV64 ,
  SPWM_PRESCALE_DIV128
}
 Prescaler division values. More...
 
enum  spwm_trigger_en {
  SPWM_TRIG_CAPTURE0 = 0 ,
  SPWM_TRIG_COUNT ,
  SPWM_TRIG_RELOAD ,
  SPWM_TRIG_STOP ,
  SPWM_TRIG_START ,
  SPWM_TRIG_CAPTURE1
}
 Input trigger identifiers. More...
 
enum  spwm_trigger_src_en {
  SPWM_TRIN_0 = 0 ,
  SPWM_TRIN_1 ,
  SPWM_TRIN_SM_CAP0 ,
  SPWM_TRIN_SM_CAP1 ,
  SPWM_TRIN_SM_CAP2 ,
  SPWM_TRIN_SM_CAP3 ,
  SPWM_TRIN_SM_CAP4 ,
  SPWM_TRIN_SM_CAP5 ,
  SPWM_TRIN_SM_CAP6 ,
  SPWM_TRIN_SM_CAP7 ,
  SPWM_TRIN_SM_CAP8 ,
  SPWM_TRIN_SM_CAP9 ,
  SPWM_TRIN_SM_CAP10 ,
  SPWM_TRIN_SM_CAP11 ,
  SPWM_TRIN_TROUT0_0 ,
  SPWM_TRIN_TROUT0_1 ,
  SPWM_TRIN_TROUT1_0 ,
  SPWM_TRIN_TROUT1_1 ,
  SPWM_TRIN_TROUT2_0 ,
  SPWM_TRIN_TROUT2_1 ,
  SPWM_TRIN_TROUT3_0 ,
  SPWM_TRIN_TROUT3_1 ,
  SPWM_TRIN_TROUT4_0 ,
  SPWM_TRIN_TROUT4_1 ,
  SPWM_TRIN_TROUT5_0 ,
  SPWM_TRIN_TROUT5_1 ,
  SPWM_TRIN_TROUT6_0 ,
  SPWM_TRIN_TROUT6_1 ,
  SPWM_TRIN_TROUT7_0 ,
  SPWM_TRIN_TROUT7_1 ,
  SPWM_TRIN_TROUT8_0 ,
  SPWM_TRIN_TROUT8_1 ,
  SPWM_TRIN_TROUT9_0 ,
  SPWM_TRIN_TROUT9_1 ,
  SPWM_TRIN_TROUT10_0 ,
  SPWM_TRIN_TROUT10_1 ,
  SPWM_TRIN_TROUT11_0 ,
  SPWM_TRIN_TROUT11_1 ,
  SPWM_TRIN_CNT_GRP_0 = (256 - SPWM_CONFIG_GROUP_TRIGGER_NUM) ,
  SPWM_TRIN_CNT_GRP_1 ,
  SPWM_TRIN_CNT_GRP_2 ,
  SPWM_TRIN_CNT_GRP_3 ,
  SPWM_TRIN_CNT_GRP_4 ,
  SPWM_TRIN_CNT_GRP_5 ,
  SPWM_TRIN_CNT_GRP_6 ,
  SPWM_TRIN_CNT_GRP_7 ,
  SPWM_TRIN_NUM
}
 Trigger input source selection. More...
 
enum  spwm_trigger_edge_sel_en {
  SPWM_TR_RISING_EDGE = 0 ,
  SPWM_TR_FALLING_EDGE ,
  SPWM_TR_ANY_EDGE ,
  SPWM_TR_NO_EDGE_DET
}
 Trigger edge selection. More...
 
enum  spwm_trigger_out_en {
  SPWM_TR_OUT_OVERFLOW = 0 ,
  SPWM_TR_OUT_UNDERFLOW ,
  SPWM_TR_OUT_TC ,
  SPWM_TR_OUT_CC0_MATCH ,
  SPWM_TR_OUT_CC1_MATCH ,
  SPWM_TR_OUT_LINE_OUT ,
  SPWM_TR_OUT_RESERVED6 ,
  SPWM_TR_OUT_DISABLED
}
 Output trigger event sources. More...
 
enum  spwm_intr_en {
  SPWM_INTR_TC = 0 ,
  SPWM_INTR_CC0_MATCH ,
  SPWM_INTR_CC1_MATCH
}
 Interrupt types. More...
 
enum  spwm_pwm_ctrl_mode_en {
  SPWM_CTRL_SET = 0 ,
  SPWM_CTRL_CLEAR ,
  SPWM_CTRL_INVERT ,
  SPWM_CTRL_NO_CHANGE
}
 PWM control modes for compare/overflow/underflow behavior. More...
 
enum  spwm_disable_mode_en {
  SPWM_DISABLE_Z = 0 ,
  SPWM_DISABLE_RETAIN ,
  SPWM_DISABLE_LOW ,
  SPWM_DISABLE_HIGH
}
 PWM disable output modes. More...
 
enum  spwm_io_pin_en {
  SPWM_PWM_OUT_0 ,
  SPWM_PWM_OUT_1 ,
  SPWM_PWM_OUT_2 ,
  SPWM_PWM_OUT_3 ,
  SPWM_PWM_OUT_4 ,
  SPWM_PWM_OUT_5 ,
  SPWM_PWM_OUT_6 ,
  SPWM_PWM_OUT_7 ,
  SPWM_PWM_OUT_8 ,
  SPWM_PWM_OUT_9 ,
  SPWM_PWM_OUT_10 ,
  SPWM_PWM_OUT_11 ,
  SPWM_CAP_IN_0 ,
  SPWM_CAP_IN_1 ,
  SPWM_CAP_IN_2 ,
  SPWM_IO_PIN_MAX
}
 SPWM I/O pin identifiers. More...
 
enum  spwm_pwm_ctrl_en {
  SPWM_PWM_CTRL_CC0_MATCH ,
  SPWM_PWM_CTRL_OVERFLOW ,
  SPWM_PWM_CTRL_UNDERFLOW ,
  SPWM_PWM_CTRL_CC1_MATCH ,
  SPWM_PWM_CTRL_NUM
}
 PWM control event types. More...
 
enum  spwm_line_src_en {
  SPWM_LINE_SRC_L ,
  SPWM_LINE_SRC_H ,
  SPWM_LINE_SRC_PWM ,
  SPWM_LINE_SRC_INV ,
  SPWM_LINE_SRC_Z ,
  SPWM_LINE_SRC_NUM
}
 PWM line output source selection. More...
 
enum  spwm_dsc_status_en {
  SPWM_DSC_OK ,
  SPWM_DSC_ERROR_RANGE ,
  SPWM_DSC_ERROR_NOSPACE ,
  SPWM_DSC_ERROR_BUSY ,
  SPWM_DSC_ERROR_NULL ,
  SPWM_DSC_ERROR_INVALID
}
 SPWM descriptor status codes. More...
 
enum  spwm_dsc_syn_op_en {
  SPWM_DSC_SYN_WAIT_ALL ,
  SPWM_DSC_SYN_WAIT_ANY ,
  SPWM_DSC_SYN_SET ,
  SPWM_DSC_SYN_CLEAR
}
 Descriptor synchronization operations. More...
 
enum  spwm_dsc_reg_id_en {
  SPWM_DSC_REG_CTRL = 0 ,
  SPWM_DSC_REG_CC0 ,
  SPWM_DSC_REG_CC1 ,
  SPWM_DSC_REG_PERIOD ,
  SPWM_DSC_REG_CC0_BUFF ,
  SPWM_DSC_REG_CC1_BUFF ,
  SPWM_DSC_REG_PERIOD_BUFF ,
  SPWM_DSC_REG_LINE_SEL ,
  SPWM_DSC_REG_LINE_SEL_BUFF ,
  SPWM_DSC_REG_TR_CMD ,
  SPWM_DSC_REG_INTR_STA
}
 Descriptor register identifiers. More...
 

Detailed Description

Enumerated types for SPWM driver.

Enumeration Type Documentation

◆ spwm_status_en

SPWM return status codes.

This enumeration defines various return and error codes used by the SPWM driver to indicate operation success, failure, and specific error conditions.

Enumerator
SPWM_OK 

Operation successful

SPWM_ERROR 

Generic error

SPWM_ERROR_PARAMETER 

Invalid parameter

SPWM_ERROR_UNSUPPORTED 

Unsupported mode or feature

SPWM_ERROR_BUSY 

Operation in progress

SPWM_ERROR_TIMEOUT 

Timeout waiting for hardware

SPWM_ERROR_NOT_INITIALIZED 

Driver not initialized

◆ spwm_mode_en

SPWM operating mode selection.

This enumeration defines the various operational modes supported by the SPWM hardware. Each mode configures the counter behavior and output generation differently.

Enumerator
SPWM_MODE_TIMER 

Basic timer mode

SPWM_MODE_RESERVED1 

Reserved value. Must not be selected by software.

SPWM_MODE_CAPTURE 

Capture mode for input signal timing

SPWM_MODE_QUAD 

Quadrature decoder mode for encoders

SPWM_MODE_PWM 

Standard PWM mode

SPWM_MODE_PWM_DT 

PWM mode with Dead-Time insertion

SPWM_MODE_PWM_PR 

PWM mode with Pseudo-Random frequency

SPWM_MODE_SR 

Shift Register mode

◆ spwm_count_mode_en

Counting direction modes.

This enumeration defines the direction in which the counter increments or decrements during operation.

Enumerator
SPWM_COUNT_UP 

Counter increments (up-counting)

SPWM_COUNT_DOWN 

Counter decrements (down-counting)

SPWM_COUNT_UPDOWN1 

Counter alternates between up and down (Type 1)

SPWM_COUNT_UPDOWN2 

Counter alternates between up and down (Type 2)

◆ spwm_quad_mode_en

Quadrature decoder modes.

This enumeration defines the range and capture/compare behavior when operating in quadrature decoder mode.

Enumerator
SPWM_QUAD_MODE_RANGE0 

Range 0 mode

SPWM_QUAD_MODE_RANGE0_CMP 

Range 0 with compare

SPWM_QUAD_MODE_RANGE1_CAPT 

Range 1 with capture

SPWM_QUAD_MODE_RANGE1_CMP 

Range 1 with compare

SPWM_QUAD_MODE_RANGE1_NUM 

Number of quadrature modes

◆ spwm_quad_encoding_en

Quadrature encoding modes.

This enumeration defines how the quadrature encoder input signals are interpreted to generate count increments.

Enumerator
SPWM_QUAD_ENC_X1 

Single edge (X1 encoding)

SPWM_QUAD_ENC_X2 

Double edge (X2 encoding)

SPWM_QUAD_ENC_X4 

Quad edge (X4 encoding)

SPWM_QUAD_ENC_UP_DOWN 

Up/Down encoding

SPWM_QUAD_ENC_NUM 

Number of encoding modes

◆ spwm_prescale_en

Prescaler division values.

This enumeration defines the clock prescaler values that divide the input clock to the SPWM counter.

Enumerator
SPWM_PRESCALE_DIV1 

Divide by 1 (no prescaling)

SPWM_PRESCALE_DIV2 

Divide by 2

SPWM_PRESCALE_DIV4 

Divide by 4

SPWM_PRESCALE_DIV8 

Divide by 8

SPWM_PRESCALE_DIV16 

Divide by 16

SPWM_PRESCALE_DIV32 

Divide by 32

SPWM_PRESCALE_DIV64 

Divide by 64

SPWM_PRESCALE_DIV128 

Divide by 128

◆ spwm_trigger_en

Input trigger identifiers.

This enumeration defines the available trigger input events that can control SPWM operation.

Enumerator
SPWM_TRIG_CAPTURE0 

Capture 0 input trigger

SPWM_TRIG_COUNT 

Count trigger input

SPWM_TRIG_RELOAD 

Reload trigger input

SPWM_TRIG_STOP 

Stop trigger input

SPWM_TRIG_START 

Start trigger input

SPWM_TRIG_CAPTURE1 

Capture 1 input trigger

◆ spwm_trigger_src_en

Trigger input source selection.

This enumeration defines all available sources that can be routed to trigger inputs, including constants, sensor hub captures, loopback signals, and group triggers.

Enumerator
SPWM_TRIN_0 

Constant logic 0

SPWM_TRIN_1 

Constant logic 1

SPWM_TRIN_SM_CAP0 

Sensor hub capture 0

SPWM_TRIN_SM_CAP1 

Sensor hub capture 1

SPWM_TRIN_SM_CAP2 

Sensor hub capture 2

SPWM_TRIN_SM_CAP3 

Sensor hub capture 3

SPWM_TRIN_SM_CAP4 

Sensor hub capture 4

SPWM_TRIN_SM_CAP5 

Sensor hub capture 5

SPWM_TRIN_SM_CAP6 

Sensor hub capture 6

SPWM_TRIN_SM_CAP7 

Sensor hub capture 7

SPWM_TRIN_SM_CAP8 

Sensor hub capture 8

SPWM_TRIN_SM_CAP9 

Sensor hub capture 9

SPWM_TRIN_SM_CAP10 

Sensor hub capture 10

SPWM_TRIN_SM_CAP11 

Sensor hub capture 11

SPWM_TRIN_TROUT0_0 

Trigger output 0 from group 0

SPWM_TRIN_TROUT0_1 

Trigger output 1 from group 0

SPWM_TRIN_TROUT1_0 

Trigger output 0 from group 1

SPWM_TRIN_TROUT1_1 

Trigger output 1 from group 1

SPWM_TRIN_TROUT2_0 

Trigger output 0 from group 2

SPWM_TRIN_TROUT2_1 

Trigger output 1 from group 2

SPWM_TRIN_TROUT3_0 

Trigger output 0 from group 3

SPWM_TRIN_TROUT3_1 

Trigger output 1 from group 3

SPWM_TRIN_TROUT4_0 

Trigger output 0 from group 4

SPWM_TRIN_TROUT4_1 

Trigger output 1 from group 4

SPWM_TRIN_TROUT5_0 

Trigger output 0 from group 5

SPWM_TRIN_TROUT5_1 

Trigger output 1 from group 5

SPWM_TRIN_TROUT6_0 

Trigger output 0 from group 6

SPWM_TRIN_TROUT6_1 

Trigger output 1 from group 6

SPWM_TRIN_TROUT7_0 

Trigger output 0 from group 7

SPWM_TRIN_TROUT7_1 

Trigger output 1 from group 7

SPWM_TRIN_TROUT8_0 

Trigger output 0 from group 8

SPWM_TRIN_TROUT8_1 

Trigger output 1 from group 8

SPWM_TRIN_TROUT9_0 

Trigger output 0 from group 9

SPWM_TRIN_TROUT9_1 

Trigger output 1 from group 9

SPWM_TRIN_TROUT10_0 

Trigger output 0 from group 10

SPWM_TRIN_TROUT10_1 

Trigger output 1 from group 10

SPWM_TRIN_TROUT11_0 

Trigger output 0 from group 11

SPWM_TRIN_TROUT11_1 

Trigger output 1 from group 11

SPWM_TRIN_CNT_GRP_0 

Counter group trigger 0

SPWM_TRIN_CNT_GRP_1 

Counter group trigger 1

SPWM_TRIN_CNT_GRP_2 

Counter group trigger 2

SPWM_TRIN_CNT_GRP_3 

Counter group trigger 3

SPWM_TRIN_CNT_GRP_4 

Counter group trigger 4

SPWM_TRIN_CNT_GRP_5 

Counter group trigger 5

SPWM_TRIN_CNT_GRP_6 

Counter group trigger 6

SPWM_TRIN_CNT_GRP_7 

Counter group trigger 7

SPWM_TRIN_NUM 

Number of trigger input sources

◆ spwm_trigger_edge_sel_en

Trigger edge selection.

This enumeration defines the edge detection modes for trigger inputs.

Enumerator
SPWM_TR_RISING_EDGE 

Trigger on rising edge

SPWM_TR_FALLING_EDGE 

Trigger on falling edge

SPWM_TR_ANY_EDGE 

Trigger on both edges

SPWM_TR_NO_EDGE_DET 

Edge detection disabled

◆ spwm_trigger_out_en

Output trigger event sources.

This enumeration defines the internal events that can generate trigger output signals.

Enumerator
SPWM_TR_OUT_OVERFLOW 

Generate trigger on counter overflow

SPWM_TR_OUT_UNDERFLOW 

Generate trigger on counter underflow

SPWM_TR_OUT_TC 

Generate trigger on terminal count

SPWM_TR_OUT_CC0_MATCH 

Generate trigger on CC0 match

SPWM_TR_OUT_CC1_MATCH 

Generate trigger on CC1 match

SPWM_TR_OUT_LINE_OUT 

Reflect line output state

SPWM_TR_OUT_RESERVED6 

Reserved (not used)

SPWM_TR_OUT_DISABLED 

Trigger output disabled

◆ spwm_intr_en

Interrupt types.

This enumeration defines the available interrupt sources for SPWM groups.

Enumerator
SPWM_INTR_TC 

Terminal count interrupt

SPWM_INTR_CC0_MATCH 

CC0 compare match interrupt

SPWM_INTR_CC1_MATCH 

CC1 compare match interrupt

◆ spwm_pwm_ctrl_mode_en

PWM control modes for compare/overflow/underflow behavior.

This enumeration defines the output actions taken when specific counter events occur (compare match, overflow, underflow).

Enumerator
SPWM_CTRL_SET 

Force output high

SPWM_CTRL_CLEAR 

Force output low

SPWM_CTRL_INVERT 

Toggle output state

SPWM_CTRL_NO_CHANGE 

Keep output unchanged

◆ spwm_disable_mode_en

PWM disable output modes.

This enumeration defines the output state when the PWM is disabled.

Enumerator
SPWM_DISABLE_Z 

Drive High-Z (tri-state)

SPWM_DISABLE_RETAIN 

Retain last output state

SPWM_DISABLE_LOW 

Drive output low

SPWM_DISABLE_HIGH 

Drive output high

◆ spwm_io_pin_en

SPWM I/O pin identifiers.

This enumeration defines the available PWM output and capture input pins.

Enumerator
SPWM_PWM_OUT_0 

PWM output pin 0

SPWM_PWM_OUT_1 

PWM output pin 1

SPWM_PWM_OUT_2 

PWM output pin 2

SPWM_PWM_OUT_3 

PWM output pin 3

SPWM_PWM_OUT_4 

PWM output pin 4

SPWM_PWM_OUT_5 

PWM output pin 5

SPWM_PWM_OUT_6 

PWM output pin 6

SPWM_PWM_OUT_7 

PWM output pin 7

SPWM_PWM_OUT_8 

PWM output pin 8

SPWM_PWM_OUT_9 

PWM output pin 9

SPWM_PWM_OUT_10 

PWM output pin 10

SPWM_PWM_OUT_11 

PWM output pin 11

SPWM_CAP_IN_0 

Capture input pin 0

SPWM_CAP_IN_1 

Capture input pin 1

SPWM_CAP_IN_2 

Capture input pin 2

SPWM_IO_PIN_MAX 

Number of I/O pins

◆ spwm_pwm_ctrl_en

PWM control event types.

This enumeration defines the types of PWM control events.

Enumerator
SPWM_PWM_CTRL_CC0_MATCH 

CC0 compare match event

SPWM_PWM_CTRL_OVERFLOW 

Counter overflow event

SPWM_PWM_CTRL_UNDERFLOW 

Counter underflow event

SPWM_PWM_CTRL_CC1_MATCH 

CC1 compare match event

SPWM_PWM_CTRL_NUM 

Number of PWM control events

◆ spwm_line_src_en

PWM line output source selection.

This enumeration defines the sources that can drive PWM output lines.

Enumerator
SPWM_LINE_SRC_L 

Drive line low

SPWM_LINE_SRC_H 

Drive line high

SPWM_LINE_SRC_PWM 

Use PWM signal

SPWM_LINE_SRC_INV 

Use inverted PWM signal

SPWM_LINE_SRC_Z 

High impedance (tri-state)

SPWM_LINE_SRC_NUM 

Number of line sources

◆ spwm_dsc_status_en

SPWM descriptor status codes.

This enumeration defines status codes returned by descriptor engine APIs.

Enumerator
SPWM_DSC_OK 

Operation succeeded

SPWM_DSC_ERROR_RANGE 

Parameter out of valid range

SPWM_DSC_ERROR_NOSPACE 

Not enough descriptor SRAM space

SPWM_DSC_ERROR_BUSY 

Descriptor instance is busy

SPWM_DSC_ERROR_NULL 

NULL pointer passed as parameter

SPWM_DSC_ERROR_INVALID 

Invalid parameter or unsupported usage

◆ spwm_dsc_syn_op_en

Descriptor synchronization operations.

This enumeration defines synchronization operations for SYN descriptors acting on semaphores.

Enumerator
SPWM_DSC_SYN_WAIT_ALL 

Wait until all selected semaphores are set

SPWM_DSC_SYN_WAIT_ANY 

Wait until any selected semaphore is set

SPWM_DSC_SYN_SET 

Set all selected semaphores

SPWM_DSC_SYN_CLEAR 

Wait and clear all selected semaphores

◆ spwm_dsc_reg_id_en

Descriptor register identifiers.

This enumeration defines symbolic register IDs for use with CFG descriptors.

Enumerator
SPWM_DSC_REG_CC0 

Ctrl register CC0 compare register

SPWM_DSC_REG_CC1 

CC1 compare register

SPWM_DSC_REG_PERIOD 

Period register

SPWM_DSC_REG_CC0_BUFF 

CC0 buffer register

SPWM_DSC_REG_CC1_BUFF 

CC1 buffer register

SPWM_DSC_REG_PERIOD_BUFF 

Period buffer register

SPWM_DSC_REG_LINE_SEL 

Line select register

SPWM_DSC_REG_LINE_SEL_BUFF 

Line select buffer register

SPWM_DSC_REG_TR_CMD 

Trigger command register

SPWM_DSC_REG_INTR_STA 

Interrupt status register