31#include "syna_device.h"
32#include "spwm_registers.h"
37#define SPWM_TRIG_IN_COUNT 6
39#define SPWM_TRIG_OUT_COUNT 2
40#define SPWM_SEMA_COUNT 2
43#define DESC_BLOCK_SIZE (SPWM_CONFIG_DESC_MEM_SIZE / SPWM_CONFIG_DESC_INSTANCE_NUM)
554 SPWM_DSC_REG_CTRL = 0,
589typedef void (*
spwm_isr_cb_t)(spwm_instance_en id, uint32_t irq_mask,
void *user_ctx);
879 uint32_t int_div, uint32_t fra_div);
908 bool enable, uint8_t phase_align_sel);
1410 uint32_t deadtime, uint32_t compl_deadtime);
1739 uint8_t sema_id, uint8_t val);
1819 uint32_t *irq_status);
2216 uint32_t start_offset_bytes, uint32_t block_size_bytes);
2255 uint32_t num_values,
bool last);
2295 uint8_t group, uint32_t counter_mask,
bool last);
2346 uint8_t desc_id,
bool enable_interrupt);
void(* spwm_desc_isr_cb_t)(spwm_instance_en id, uint8_t desc_id, void *param)
ISR callback function type for descriptor interrupts.
Definition spwm.h:600
void(* spwm_isr_cb_t)(spwm_instance_en id, uint32_t irq_mask, void *user_ctx)
ISR callback function type for SPWM group interrupts.
Definition spwm.h:589
struct spwm_dsc_chain spwm_dsc_chain_t
SPWM descriptor chain handle.
Definition spwm.h:610
spwm_mode_en
SPWM operating mode selection.
Definition spwm.h:259
spwm_prescale_en
Prescaler division values.
Definition spwm.h:317
spwm_intr_en
Interrupt types.
Definition spwm.h:437
spwm_trigger_src_en
Trigger input source selection.
Definition spwm.h:350
spwm_pwm_ctrl_en
PWM control event types.
Definition spwm.h:497
spwm_trigger_en
Input trigger identifiers.
Definition spwm.h:334
spwm_pwm_ctrl_mode_en
PWM control modes for compare/overflow/underflow behavior.
Definition spwm.h:449
spwm_status_en
SPWM return status codes.
Definition spwm.h:243
spwm_trigger_out_en
Output trigger event sources.
Definition spwm.h:421
spwm_dsc_status_en
SPWM descriptor status codes.
Definition spwm.h:525
spwm_io_pin_en
SPWM I/O pin identifiers.
Definition spwm.h:473
spwm_quad_mode_en
Quadrature decoder modes.
Definition spwm.h:289
spwm_trigger_edge_sel_en
Trigger edge selection.
Definition spwm.h:408
spwm_quad_encoding_en
Quadrature encoding modes.
Definition spwm.h:303
spwm_count_mode_en
Counting direction modes.
Definition spwm.h:276
spwm_line_src_en
PWM line output source selection.
Definition spwm.h:510
spwm_dsc_reg_id_en
Descriptor register identifiers.
Definition spwm.h:553
spwm_dsc_syn_op_en
Descriptor synchronization operations.
Definition spwm.h:541
spwm_disable_mode_en
PWM disable output modes.
Definition spwm.h:461
@ SPWM_MODE_PWM_DT
Definition spwm.h:265
@ SPWM_MODE_RESERVED1
Definition spwm.h:261
@ SPWM_MODE_CAPTURE
Definition spwm.h:262
@ SPWM_MODE_SR
Definition spwm.h:267
@ SPWM_MODE_QUAD
Definition spwm.h:263
@ SPWM_MODE_PWM_PR
Definition spwm.h:266
@ SPWM_MODE_PWM
Definition spwm.h:264
@ SPWM_MODE_TIMER
Definition spwm.h:260
@ SPWM_PRESCALE_DIV4
Definition spwm.h:320
@ SPWM_PRESCALE_DIV128
Definition spwm.h:325
@ SPWM_PRESCALE_DIV8
Definition spwm.h:321
@ SPWM_PRESCALE_DIV32
Definition spwm.h:323
@ SPWM_PRESCALE_DIV1
Definition spwm.h:318
@ SPWM_PRESCALE_DIV64
Definition spwm.h:324
@ SPWM_PRESCALE_DIV2
Definition spwm.h:319
@ SPWM_PRESCALE_DIV16
Definition spwm.h:322
@ SPWM_INTR_CC0_MATCH
Definition spwm.h:439
@ SPWM_INTR_CC1_MATCH
Definition spwm.h:440
@ SPWM_INTR_TC
Definition spwm.h:438
@ SPWM_TRIN_TROUT2_0
Definition spwm.h:371
@ SPWM_TRIN_TROUT6_1
Definition spwm.h:380
@ SPWM_TRIN_SM_CAP2
Definition spwm.h:356
@ SPWM_TRIN_0
Definition spwm.h:351
@ SPWM_TRIN_1
Definition spwm.h:352
@ SPWM_TRIN_SM_CAP11
Definition spwm.h:365
@ SPWM_TRIN_TROUT4_0
Definition spwm.h:375
@ SPWM_TRIN_TROUT6_0
Definition spwm.h:379
@ SPWM_TRIN_NUM
Definition spwm.h:400
@ SPWM_TRIN_TROUT11_1
Definition spwm.h:390
@ SPWM_TRIN_CNT_GRP_3
Definition spwm.h:395
@ SPWM_TRIN_TROUT10_1
Definition spwm.h:388
@ SPWM_TRIN_TROUT7_1
Definition spwm.h:382
@ SPWM_TRIN_TROUT10_0
Definition spwm.h:387
@ SPWM_TRIN_TROUT9_0
Definition spwm.h:385
@ SPWM_TRIN_CNT_GRP_6
Definition spwm.h:398
@ SPWM_TRIN_CNT_GRP_7
Definition spwm.h:399
@ SPWM_TRIN_SM_CAP8
Definition spwm.h:362
@ SPWM_TRIN_TROUT5_1
Definition spwm.h:378
@ SPWM_TRIN_CNT_GRP_5
Definition spwm.h:397
@ SPWM_TRIN_TROUT3_0
Definition spwm.h:373
@ SPWM_TRIN_CNT_GRP_0
Definition spwm.h:392
@ SPWM_TRIN_SM_CAP0
Definition spwm.h:354
@ SPWM_TRIN_SM_CAP4
Definition spwm.h:358
@ SPWM_TRIN_SM_CAP5
Definition spwm.h:359
@ SPWM_TRIN_SM_CAP3
Definition spwm.h:357
@ SPWM_TRIN_TROUT1_1
Definition spwm.h:370
@ SPWM_TRIN_SM_CAP6
Definition spwm.h:360
@ SPWM_TRIN_TROUT4_1
Definition spwm.h:376
@ SPWM_TRIN_CNT_GRP_2
Definition spwm.h:394
@ SPWM_TRIN_TROUT11_0
Definition spwm.h:389
@ SPWM_TRIN_TROUT1_0
Definition spwm.h:369
@ SPWM_TRIN_TROUT8_0
Definition spwm.h:383
@ SPWM_TRIN_TROUT9_1
Definition spwm.h:386
@ SPWM_TRIN_SM_CAP10
Definition spwm.h:364
@ SPWM_TRIN_TROUT3_1
Definition spwm.h:374
@ SPWM_TRIN_TROUT7_0
Definition spwm.h:381
@ SPWM_TRIN_SM_CAP1
Definition spwm.h:355
@ SPWM_TRIN_CNT_GRP_4
Definition spwm.h:396
@ SPWM_TRIN_CNT_GRP_1
Definition spwm.h:393
@ SPWM_TRIN_SM_CAP7
Definition spwm.h:361
@ SPWM_TRIN_TROUT0_1
Definition spwm.h:368
@ SPWM_TRIN_SM_CAP9
Definition spwm.h:363
@ SPWM_TRIN_TROUT5_0
Definition spwm.h:377
@ SPWM_TRIN_TROUT2_1
Definition spwm.h:372
@ SPWM_TRIN_TROUT0_0
Definition spwm.h:367
@ SPWM_TRIN_TROUT8_1
Definition spwm.h:384
@ SPWM_PWM_CTRL_CC1_MATCH
Definition spwm.h:501
@ SPWM_PWM_CTRL_UNDERFLOW
Definition spwm.h:500
@ SPWM_PWM_CTRL_CC0_MATCH
Definition spwm.h:498
@ SPWM_PWM_CTRL_OVERFLOW
Definition spwm.h:499
@ SPWM_PWM_CTRL_NUM
Definition spwm.h:502
@ SPWM_TRIG_CAPTURE1
Definition spwm.h:340
@ SPWM_TRIG_CAPTURE0
Definition spwm.h:335
@ SPWM_TRIG_START
Definition spwm.h:339
@ SPWM_TRIG_COUNT
Definition spwm.h:336
@ SPWM_TRIG_STOP
Definition spwm.h:338
@ SPWM_TRIG_RELOAD
Definition spwm.h:337
@ SPWM_CTRL_SET
Definition spwm.h:450
@ SPWM_CTRL_CLEAR
Definition spwm.h:451
@ SPWM_CTRL_NO_CHANGE
Definition spwm.h:453
@ SPWM_CTRL_INVERT
Definition spwm.h:452
@ SPWM_ERROR_BUSY
Definition spwm.h:248
@ SPWM_ERROR_PARAMETER
Definition spwm.h:246
@ SPWM_ERROR_TIMEOUT
Definition spwm.h:249
@ SPWM_OK
Definition spwm.h:244
@ SPWM_ERROR_NOT_INITIALIZED
Definition spwm.h:250
@ SPWM_ERROR
Definition spwm.h:245
@ SPWM_ERROR_UNSUPPORTED
Definition spwm.h:247
@ SPWM_TR_OUT_TC
Definition spwm.h:424
@ SPWM_TR_OUT_DISABLED
Definition spwm.h:429
@ SPWM_TR_OUT_CC1_MATCH
Definition spwm.h:426
@ SPWM_TR_OUT_UNDERFLOW
Definition spwm.h:423
@ SPWM_TR_OUT_OVERFLOW
Definition spwm.h:422
@ SPWM_TR_OUT_RESERVED6
Definition spwm.h:428
@ SPWM_TR_OUT_LINE_OUT
Definition spwm.h:427
@ SPWM_TR_OUT_CC0_MATCH
Definition spwm.h:425
@ SPWM_DSC_ERROR_NOSPACE
Definition spwm.h:528
@ SPWM_DSC_ERROR_INVALID
Definition spwm.h:531
@ SPWM_DSC_ERROR_RANGE
Definition spwm.h:527
@ SPWM_DSC_ERROR_NULL
Definition spwm.h:530
@ SPWM_DSC_ERROR_BUSY
Definition spwm.h:529
@ SPWM_DSC_OK
Definition spwm.h:526
@ SPWM_CAP_IN_2
Definition spwm.h:488
@ SPWM_CAP_IN_0
Definition spwm.h:486
@ SPWM_PWM_OUT_11
Definition spwm.h:485
@ SPWM_PWM_OUT_5
Definition spwm.h:479
@ SPWM_PWM_OUT_1
Definition spwm.h:475
@ SPWM_PWM_OUT_10
Definition spwm.h:484
@ SPWM_CAP_IN_1
Definition spwm.h:487
@ SPWM_PWM_OUT_9
Definition spwm.h:483
@ SPWM_PWM_OUT_0
Definition spwm.h:474
@ SPWM_PWM_OUT_6
Definition spwm.h:480
@ SPWM_PWM_OUT_3
Definition spwm.h:477
@ SPWM_PWM_OUT_4
Definition spwm.h:478
@ SPWM_PWM_OUT_7
Definition spwm.h:481
@ SPWM_PWM_OUT_2
Definition spwm.h:476
@ SPWM_PWM_OUT_8
Definition spwm.h:482
@ SPWM_IO_PIN_MAX
Definition spwm.h:489
@ SPWM_QUAD_MODE_RANGE0_CMP
Definition spwm.h:291
@ SPWM_QUAD_MODE_RANGE1_CAPT
Definition spwm.h:292
@ SPWM_QUAD_MODE_RANGE1_CMP
Definition spwm.h:293
@ SPWM_QUAD_MODE_RANGE0
Definition spwm.h:290
@ SPWM_QUAD_MODE_RANGE1_NUM
Definition spwm.h:294
@ SPWM_TR_RISING_EDGE
Definition spwm.h:409
@ SPWM_TR_NO_EDGE_DET
Definition spwm.h:412
@ SPWM_TR_ANY_EDGE
Definition spwm.h:411
@ SPWM_TR_FALLING_EDGE
Definition spwm.h:410
@ SPWM_QUAD_ENC_X4
Definition spwm.h:306
@ SPWM_QUAD_ENC_X2
Definition spwm.h:305
@ SPWM_QUAD_ENC_X1
Definition spwm.h:304
@ SPWM_QUAD_ENC_NUM
Definition spwm.h:308
@ SPWM_QUAD_ENC_UP_DOWN
Definition spwm.h:307
@ SPWM_COUNT_UPDOWN2
Definition spwm.h:280
@ SPWM_COUNT_DOWN
Definition spwm.h:278
@ SPWM_COUNT_UPDOWN1
Definition spwm.h:279
@ SPWM_COUNT_UP
Definition spwm.h:277
@ SPWM_LINE_SRC_H
Definition spwm.h:512
@ SPWM_LINE_SRC_NUM
Definition spwm.h:516
@ SPWM_LINE_SRC_PWM
Definition spwm.h:513
@ SPWM_LINE_SRC_L
Definition spwm.h:511
@ SPWM_LINE_SRC_Z
Definition spwm.h:515
@ SPWM_LINE_SRC_INV
Definition spwm.h:514
@ SPWM_DSC_REG_TR_CMD
Definition spwm.h:563
@ SPWM_DSC_REG_CC1_BUFF
Definition spwm.h:559
@ SPWM_DSC_REG_LINE_SEL_BUFF
Definition spwm.h:562
@ SPWM_DSC_REG_PERIOD
Definition spwm.h:557
@ SPWM_DSC_REG_CC1
Definition spwm.h:556
@ SPWM_DSC_REG_CC0
Definition spwm.h:555
@ SPWM_DSC_REG_CC0_BUFF
Definition spwm.h:558
@ SPWM_DSC_REG_INTR_STA
Definition spwm.h:564
@ SPWM_DSC_REG_PERIOD_BUFF
Definition spwm.h:560
@ SPWM_DSC_REG_LINE_SEL
Definition spwm.h:561
@ SPWM_DSC_SYN_SET
Definition spwm.h:544
@ SPWM_DSC_SYN_CLEAR
Definition spwm.h:545
@ SPWM_DSC_SYN_WAIT_ALL
Definition spwm.h:542
@ SPWM_DSC_SYN_WAIT_ANY
Definition spwm.h:543
@ SPWM_DISABLE_Z
Definition spwm.h:462
@ SPWM_DISABLE_HIGH
Definition spwm.h:465
@ SPWM_DISABLE_RETAIN
Definition spwm.h:463
@ SPWM_DISABLE_LOW
Definition spwm.h:464
spwm_status_en spwm_enable_desc_interrupt(spwm_instance_en id, uint8_t desc_id)
spwm_dsc_status_en spwm_dsc_chain_start(spwm_instance_en id, const spwm_dsc_chain_t *chain, uint8_t desc_id, bool enable_interrupt)
spwm_status_en spwm_set_cc0_buff(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_status_en spwm_init(spwm_instance_en id)
spwm_status_en spwm_disable_interrupt(spwm_instance_en id, uint8_t group_id, spwm_intr_en intr)
spwm_dsc_status_en spwm_dsc_chain_init(spwm_instance_en id, spwm_dsc_chain_t *chain, uint32_t start_offset_bytes, uint32_t block_size_bytes)
spwm_status_en spwm_set_sema(spwm_instance_en id, uint8_t group_id, uint8_t sema_id, uint8_t val)
spwm_status_en spwm_set_period(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_status_en spwm_set_counter(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_status_en spwm_set_prescale(spwm_instance_en id, uint8_t group_id, spwm_prescale_en prescale)
spwm_status_en spwm_set_trig_in_all(spwm_instance_en id, uint8_t group_id, const spwm_trigger_in_cfg_t *cfg)
spwm_status_en spwm_configure(spwm_instance_en id, uint8_t group_id, const spwm_config_t *config)
spwm_status_en spwm_disable_desc_interrupt(spwm_instance_en id, uint8_t desc_id)
spwm_status_en spwm_get_cc0(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_dsc_status_en spwm_dsc_chain_get_status(spwm_instance_en id, const spwm_dsc_chain_t *chain, uint8_t instance, spwm_dsc_chain_status_t *status)
spwm_status_en spwm_get_counter(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_dsc_chain_t * spwm_dsc_chain_create(void)
spwm_status_en spwm_enable(spwm_instance_en id, uint8_t group_id)
spwm_status_en spwm_enable_interrupt(spwm_instance_en id, uint8_t group_id, spwm_intr_en intr)
spwm_status_en spwm_get_line_sel_buff(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_dsc_status_en spwm_dsc_chain_add_nxt(spwm_dsc_chain_t *chain, uint32_t target_offset_bytes)
spwm_status_en spwm_clkdiv_enable(spwm_instance_en id, uint8_t clkdiv_id, bool enable, uint8_t phase_align_sel)
spwm_status_en spwm_get_line_sel(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_otrigclk_config(spwm_instance_en id, uint8_t clkdiv_id)
spwm_status_en spwm_clear_interrupt(spwm_instance_en id, uint8_t group_id, uint32_t mask)
spwm_status_en spwm_group_trigger(spwm_instance_en id, uint8_t group_trigger_id)
spwm_status_en spwm_set_sema_sel(spwm_instance_en id, uint8_t group_id, int sema_id, spwm_trigger_out_en out)
spwm_status_en spwm_clear_desc_interrupt(spwm_instance_en id, uint8_t desc_id)
spwm_status_en spwm_clkdiv_config(spwm_instance_en id, uint8_t clkdiv_id, uint32_t int_div, uint32_t fra_div)
spwm_status_en spwm_disable_all_interrupts(spwm_instance_en id, uint8_t group_id)
spwm_status_en spwm_get_cc1(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_set_cc0(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_dsc_status_en spwm_dsc_chain_add_syn(spwm_dsc_chain_t *chain, spwm_dsc_syn_op_en opcode, uint8_t group, uint32_t counter_mask, bool last)
spwm_status_en spwm_set_line_sel(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_dsc_status_en spwm_dsc_mem_alloc(size_t size_bytes, uint16_t *handle)
spwm_status_en spwm_get_cc1_buff(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_set_one_shot(spwm_instance_en id, uint8_t group_id, bool one_shot)
spwm_status_en spwm_trigger(spwm_instance_en id, uint8_t group_id, spwm_trigger_en trig)
spwm_status_en spwm_get_period_buff(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_set_cc1(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_status_en spwm_disable(spwm_instance_en id, uint8_t group_id)
spwm_status_en spwm_set_trig_out(spwm_instance_en id, uint8_t group_id, int out_id, spwm_trigger_out_en out)
spwm_status_en spwm_clear_all_interrupts(spwm_instance_en id, uint8_t group_id)
void spwm_dsc_chain_destroy(spwm_dsc_chain_t *chain)
spwm_status_en spwm_deinit(spwm_instance_en id)
spwm_status_en spwm_register_desc_callback(spwm_instance_en id, spwm_desc_isr_cb_t cb, void *param)
spwm_status_en spwm_set_deadtime(spwm_instance_en id, uint8_t group_id, uint32_t deadtime, uint32_t compl_deadtime)
spwm_status_en spwm_output_select(spwm_instance_en id, uint8_t group_id, spwm_io_pin_en pin, bool compl)
spwm_status_en spwm_set_cc1_buff(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_status_en spwm_get_cc0_buff(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_set_count_mode(spwm_instance_en id, uint8_t group_id, spwm_count_mode_en count_mode)
spwm_status_en spwm_set_trig_in(spwm_instance_en id, uint8_t group_id, spwm_trigger_en trigger, const spwm_trigger_in_cfg_t *config)
spwm_status_en spwm_get_period(spwm_instance_en id, uint8_t group_id, uint32_t *val)
spwm_status_en spwm_register_callback(spwm_instance_en id, spwm_isr_cb_t cb, void *user_ctx)
spwm_dsc_status_en spwm_dsc_chain_init_for_handle(spwm_instance_en id, spwm_dsc_chain_t *chain, uint16_t handle)
uint32_t spwm_make_line_sel(spwm_line_src_en out, spwm_line_src_en compl)
spwm_status_en spwm_set_period_buff(spwm_instance_en id, uint8_t group_id, uint32_t val)
spwm_dsc_status_en spwm_dsc_chain_add_cfg(spwm_dsc_chain_t *chain, uint8_t group_id, spwm_dsc_reg_id_en reg_id, const uint32_t *values, uint32_t num_values, bool last)
spwm_status_en spwm_set_clkdiv(spwm_instance_en id, uint8_t group_id, uint8_t clkdiv_id)
spwm_status_en spwm_set_line_sel_buff(spwm_instance_en id, uint8_t group_id, uint32_t val)
void spwm_dsc_mem_free(uint16_t handle)
spwm_status_en spwm_get_interrupt_status(spwm_instance_en id, uint8_t group_id, uint32_t *irq_status)
spwm_status_en spwm_set_mode(spwm_instance_en id, uint8_t group_id, spwm_mode_en mode)
Unified SPWM configuration structure.
Definition spwm.h:719
spwm_prescale_en prescale
Definition spwm.h:737
uint32_t cc1_buff
Definition spwm.h:723
spwm_pwmpr_cfg_t pwmpr
Definition spwm.h:743
spwm_count_mode_en count_mode
Definition spwm.h:728
spwm_mode_en mode
Definition spwm.h:735
spwm_pwm_cfg_t pwm
Definition spwm.h:740
uint32_t period_buff
Definition spwm.h:727
spwm_trigger_in_cfg_t trig_in[SPWM_TRIG_IN_COUNT]
Definition spwm.h:730
int clkdiv_sel
Definition spwm.h:724
spwm_timer_cfg_t timer
Definition spwm.h:739
uint32_t counter
Definition spwm.h:726
uint32_t cc1
Definition spwm.h:722
spwm_sr_cfg_t sr
Definition spwm.h:744
spwm_quad_cfg_t quad
Definition spwm.h:742
uint32_t period
Definition spwm.h:725
spwm_pwmdt_cfg_t pwmdt
Definition spwm.h:741
uint32_t cc0
Definition spwm.h:720
uint32_t cc0_buff
Definition spwm.h:721
spwm_trigger_out_en trig_out[SPWM_TRIG_OUT_COUNT]
Definition spwm.h:732
bool one_shot
Definition spwm.h:736
Descriptor chain execution status.
Definition spwm.h:755
bool irq_pending
Definition spwm.h:760
bool irq_enabled
Definition spwm.h:759
bool running
Definition spwm.h:756
bool done
Definition spwm.h:757
bool error
Definition spwm.h:758
PWM mode configuration.
Definition spwm.h:657
spwm_pwm_ctrl_mode_en overflow_mode
Definition spwm.h:671
bool pwm_sync_kill
Definition spwm.h:668
bool pwm_stop_on_kill
Definition spwm.h:667
bool auto_reload_period
Definition spwm.h:660
spwm_pwm_ctrl_mode_en cc0_match_mode
Definition spwm.h:670
uint32_t line_sel
Definition spwm.h:674
bool cc0_match_up_en
Definition spwm.h:662
spwm_pwm_ctrl_mode_en cc1_match_mode
Definition spwm.h:673
bool cc1_match_down_en
Definition spwm.h:665
bool pwm_imm_kill
Definition spwm.h:666
bool auto_reload_cc0
Definition spwm.h:658
uint32_t line_sel_buff
Definition spwm.h:675
spwm_disable_mode_en disable_mode
Definition spwm.h:669
bool auto_reload_cc1
Definition spwm.h:659
spwm_pwm_ctrl_mode_en underflow_mode
Definition spwm.h:672
bool cc0_match_down_en
Definition spwm.h:664
bool auto_reload_line_sel
Definition spwm.h:661
bool cc1_match_up_en
Definition spwm.h:663
PWM with Dead-Time configuration.
Definition spwm.h:684
uint16_t deadtime
Definition spwm.h:686
spwm_pwm_cfg_t pwm
Definition spwm.h:685
uint16_t compl_deadtime
Definition spwm.h:687
PWM with Pseudo-Random configuration.
Definition spwm.h:697
uint16_t lfsr_tap
Definition spwm.h:700
spwm_pwm_cfg_t pwm
Definition spwm.h:698
uint16_t lfsr_seed
Definition spwm.h:699
Quadrature decoder configuration.
Definition spwm.h:640
spwm_trigger_in_cfg_t trig_b
Definition spwm.h:645
spwm_quad_encoding_en encoding
Definition spwm.h:648
spwm_quad_mode_en quad_mode
Definition spwm.h:647
bool auto_reload_period
Definition spwm.h:643
spwm_trigger_in_cfg_t trig_a
Definition spwm.h:644
bool auto_reload_cc0
Definition spwm.h:641
spwm_trigger_in_cfg_t trig_idx
Definition spwm.h:646
bool auto_reload_cc1
Definition spwm.h:642
Shift Register configuration.
Definition spwm.h:708
uint8_t auto_reload_cc0
Definition spwm.h:709
uint8_t auto_reload_cc1
Definition spwm.h:710
Timer/Counter mode configuration.
Definition spwm.h:629
bool auto_reload_cc1
Definition spwm.h:631
bool auto_reload_cc0
Definition spwm.h:630
Input trigger configuration structure.
Definition spwm.h:618
spwm_trigger_src_en src
Definition spwm.h:619
spwm_trigger_edge_sel_en edge
Definition spwm.h:620
bool invert
Definition spwm.h:621