block/PSEL: description: Unspecified. items: - name: OUT description: 'Description collection[0]: Output pin select for PWM channel 0.' array: len: 4 stride: 4 byte_offset: 0 fieldset: PSEL_OUT block/PWM: description: Pulse Width Modulation Unit 0. items: - name: TASKS_STOP description: Stops PWM pulse generation on all channels at the end of current PWM period, and stops sequence playback. byte_offset: 4 access: Write - name: TASKS_SEQSTART description: 'Description collection[0]: Loads the first PWM value on all enabled channels from sequence 0, and starts playing that sequence at the rate defined in SEQ[0]REFRESH and/or DECODER.MODE. Causes PWM generation to start it was not running.' array: len: 2 stride: 4 byte_offset: 8 access: Write - name: TASKS_NEXTSTEP description: Steps by one value in the current sequence on all enabled channels if DECODER.MODE=NextStep. Does not cause PWM generation to start it was not running. byte_offset: 16 access: Write - name: EVENTS_STOPPED description: Response to STOP task, emitted when PWM pulses are no longer generated. byte_offset: 260 - name: EVENTS_SEQSTARTED description: 'Description collection[0]: First PWM period started on sequence 0.' array: len: 2 stride: 4 byte_offset: 264 - name: EVENTS_SEQEND description: 'Description collection[0]: Emitted at end of every sequence 0, when last value from RAM has been applied to wave counter.' array: len: 2 stride: 4 byte_offset: 272 - name: EVENTS_PWMPERIODEND description: Emitted at the end of each PWM period. byte_offset: 280 - name: EVENTS_LOOPSDONE description: Concatenated sequences have been played the amount of times defined in LOOP.CNT. byte_offset: 284 - name: SHORTS description: Shortcut register. byte_offset: 512 fieldset: SHORTS - name: INTEN description: Enable or disable interrupt. byte_offset: 768 fieldset: INTEN - name: INTENSET description: Enable interrupt. byte_offset: 772 fieldset: INTENSET - name: INTENCLR description: Disable interrupt. byte_offset: 776 fieldset: INTENCLR - name: ENABLE description: PWM module enable register. byte_offset: 1280 fieldset: ENABLE - name: MODE description: Selects operating mode of the wave counter. byte_offset: 1284 fieldset: MODE - name: COUNTERTOP description: Value up to which the pulse generator counter counts. byte_offset: 1288 fieldset: COUNTERTOP - name: PRESCALER description: Configuration for PWM_CLK. byte_offset: 1292 fieldset: PRESCALER - name: DECODER description: Configuration of the decoder. byte_offset: 1296 fieldset: DECODER - name: LOOP description: Amount of playback of a loop. byte_offset: 1300 fieldset: LOOP - name: SEQ description: Unspecified. array: len: 2 stride: 32 byte_offset: 1312 block: SEQ - name: PSEL description: Unspecified. byte_offset: 1376 block: PSEL block/SEQ: description: Unspecified. items: - name: PTR description: 'Description cluster[0]: Beginning address in Data RAM of this sequence.' byte_offset: 0 fieldset: PTR - name: CNT description: 'Description cluster[0]: Amount of values (duty cycles) in this sequence.' byte_offset: 4 fieldset: CNT - name: REFRESH description: 'Description cluster[0]: Amount of additional PWM periods between samples loaded into compare register.' byte_offset: 8 fieldset: REFRESH - name: ENDDELAY description: 'Description cluster[0]: Time added after the sequence.' byte_offset: 12 fieldset: ENDDELAY fieldset/CNT: description: 'Description cluster[0]: Amount of values (duty cycles) in this sequence.' fields: - name: CNT description: Amount of values (duty cycles) in this sequence. bit_offset: 0 bit_size: 15 enum: CNT_CNT fieldset/COUNTERTOP: description: Value up to which the pulse generator counter counts. fields: - name: COUNTERTOP description: Value up to which the pulse generator counter counts. This register is ignored when DECODER.MODE=WaveForm and only values from RAM will be used. bit_offset: 0 bit_size: 15 fieldset/DECODER: description: Configuration of the decoder. fields: - name: LOAD description: How a sequence is read from RAM and spread to the compare register. bit_offset: 0 bit_size: 2 enum: LOAD - name: MODE description: Selects source for advancing the active sequence. bit_offset: 8 bit_size: 1 enum: MODE fieldset/ENABLE: description: PWM module enable register. fields: - name: ENABLE description: Enable or disable PWM module. bit_offset: 0 bit_size: 1 enum: ENABLE fieldset/ENDDELAY: description: 'Description cluster[0]: Time added after the sequence.' fields: - name: CNT description: Time added after the sequence in PWM periods. bit_offset: 0 bit_size: 24 fieldset/INTEN: description: Enable or disable interrupt. fields: - name: STOPPED description: Enable or disable interrupt for STOPPED event. bit_offset: 1 bit_size: 1 enum: INTEN_STOPPED - name: SEQSTARTED0 description: Enable or disable interrupt for SEQSTARTED[0] event. bit_offset: 2 bit_size: 1 enum: INTEN_SEQSTARTED0 - name: SEQSTARTED1 description: Enable or disable interrupt for SEQSTARTED[1] event. bit_offset: 3 bit_size: 1 enum: INTEN_SEQSTARTED1 - name: SEQEND0 description: Enable or disable interrupt for SEQEND[0] event. bit_offset: 4 bit_size: 1 enum: INTEN_SEQEND0 - name: SEQEND1 description: Enable or disable interrupt for SEQEND[1] event. bit_offset: 5 bit_size: 1 enum: INTEN_SEQEND1 - name: PWMPERIODEND description: Enable or disable interrupt for PWMPERIODEND event. bit_offset: 6 bit_size: 1 enum: INTEN_PWMPERIODEND - name: LOOPSDONE description: Enable or disable interrupt for LOOPSDONE event. bit_offset: 7 bit_size: 1 enum: INTEN_LOOPSDONE fieldset/INTENCLR: description: Disable interrupt. fields: - name: STOPPED description: Write '1' to Disable interrupt for STOPPED event. bit_offset: 1 bit_size: 1 enum: INTENCLR_STOPPED - name: SEQSTARTED0 description: Write '1' to Disable interrupt for SEQSTARTED[0] event. bit_offset: 2 bit_size: 1 enum: INTENCLR_SEQSTARTED0 - name: SEQSTARTED1 description: Write '1' to Disable interrupt for SEQSTARTED[1] event. bit_offset: 3 bit_size: 1 enum: INTENCLR_SEQSTARTED1 - name: SEQEND0 description: Write '1' to Disable interrupt for SEQEND[0] event. bit_offset: 4 bit_size: 1 enum: INTENCLR_SEQEND0 - name: SEQEND1 description: Write '1' to Disable interrupt for SEQEND[1] event. bit_offset: 5 bit_size: 1 enum: INTENCLR_SEQEND1 - name: PWMPERIODEND description: Write '1' to Disable interrupt for PWMPERIODEND event. bit_offset: 6 bit_size: 1 enum: INTENCLR_PWMPERIODEND - name: LOOPSDONE description: Write '1' to Disable interrupt for LOOPSDONE event. bit_offset: 7 bit_size: 1 enum: INTENCLR_LOOPSDONE fieldset/INTENSET: description: Enable interrupt. fields: - name: STOPPED description: Write '1' to Enable interrupt for STOPPED event. bit_offset: 1 bit_size: 1 enum: INTENSET_STOPPED - name: SEQSTARTED0 description: Write '1' to Enable interrupt for SEQSTARTED[0] event. bit_offset: 2 bit_size: 1 enum: INTENSET_SEQSTARTED0 - name: SEQSTARTED1 description: Write '1' to Enable interrupt for SEQSTARTED[1] event. bit_offset: 3 bit_size: 1 enum: INTENSET_SEQSTARTED1 - name: SEQEND0 description: Write '1' to Enable interrupt for SEQEND[0] event. bit_offset: 4 bit_size: 1 enum: INTENSET_SEQEND0 - name: SEQEND1 description: Write '1' to Enable interrupt for SEQEND[1] event. bit_offset: 5 bit_size: 1 enum: INTENSET_SEQEND1 - name: PWMPERIODEND description: Write '1' to Enable interrupt for PWMPERIODEND event. bit_offset: 6 bit_size: 1 enum: INTENSET_PWMPERIODEND - name: LOOPSDONE description: Write '1' to Enable interrupt for LOOPSDONE event. bit_offset: 7 bit_size: 1 enum: INTENSET_LOOPSDONE fieldset/LOOP: description: Amount of playback of a loop. fields: - name: CNT description: Amount of playback of pattern cycles. bit_offset: 0 bit_size: 16 enum: LOOP_CNT fieldset/MODE: description: Selects operating mode of the wave counter. fields: - name: UPDOWN description: Selects up or up and down as wave counter mode. bit_offset: 0 bit_size: 1 enum: UPDOWN fieldset/PRESCALER: description: Configuration for PWM_CLK. fields: - name: PRESCALER description: Pre-scaler of PWM_CLK. bit_offset: 0 bit_size: 3 enum: PRESCALER fieldset/PSEL_OUT: description: 'Description collection[0]: Output pin select for PWM channel 0.' fields: - name: PIN description: Pin number. bit_offset: 0 bit_size: 5 - name: CONNECT description: Connection. bit_offset: 31 bit_size: 1 enum: CONNECT fieldset/PTR: description: 'Description cluster[0]: Beginning address in Data RAM of this sequence.' fields: - name: PTR description: Beginning address in Data RAM of this sequence. bit_offset: 0 bit_size: 32 fieldset/REFRESH: description: 'Description cluster[0]: Amount of additional PWM periods between samples loaded into compare register.' fields: - name: CNT description: Amount of additional PWM periods between samples loaded into compare register (load every REFRESH.CNT+1 PWM periods). bit_offset: 0 bit_size: 24 enum: REFRESH_CNT fieldset/SHORTS: description: Shortcut register. fields: - name: SEQEND0_STOP description: Shortcut between SEQEND[0] event and STOP task. bit_offset: 0 bit_size: 1 enum: SEQEND0_STOP - name: SEQEND1_STOP description: Shortcut between SEQEND[1] event and STOP task. bit_offset: 1 bit_size: 1 enum: SEQEND1_STOP - name: LOOPSDONE_SEQSTART0 description: Shortcut between LOOPSDONE event and SEQSTART[0] task. bit_offset: 2 bit_size: 1 enum: LOOPSDONE_SEQSTART0 - name: LOOPSDONE_SEQSTART1 description: Shortcut between LOOPSDONE event and SEQSTART[1] task. bit_offset: 3 bit_size: 1 enum: LOOPSDONE_SEQSTART1 - name: LOOPSDONE_STOP description: Shortcut between LOOPSDONE event and STOP task. bit_offset: 4 bit_size: 1 enum: LOOPSDONE_STOP enum/CNT_CNT: bit_size: 15 variants: - name: Disabled description: Sequence is disabled, and shall not be started as it is empty. value: 0 enum/CONNECT: bit_size: 1 variants: - name: Connected description: Connect. value: 0 - name: Disconnected description: Disconnect. value: 1 enum/ENABLE: bit_size: 1 variants: - name: Disabled description: Disabled. value: 0 - name: Enabled description: Enable. value: 1 enum/INTENCLR_LOOPSDONE: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_PWMPERIODEND: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_SEQEND0: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_SEQEND1: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_SEQSTARTED0: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_SEQSTARTED1: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENCLR_STOPPED: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Clear description: 'Read: Enabled.' value: 1 enum/INTENSET_LOOPSDONE: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_PWMPERIODEND: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_SEQEND0: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_SEQEND1: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_SEQSTARTED0: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_SEQSTARTED1: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTENSET_STOPPED: bit_size: 1 variants: - name: Disabled description: 'Read: Disabled.' value: 0 - name: R_Enabled_W_Set description: 'Read: Enabled.' value: 1 enum/INTEN_LOOPSDONE: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_PWMPERIODEND: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_SEQEND0: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_SEQEND1: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_SEQSTARTED0: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_SEQSTARTED1: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/INTEN_STOPPED: bit_size: 1 variants: - name: Disabled description: Disable. value: 0 - name: Enabled description: Enable. value: 1 enum/LOAD: bit_size: 2 variants: - name: Common description: 1st half word (16-bit) used in all PWM channels 0..3. value: 0 - name: Grouped description: 1st half word (16-bit) used in channel 0..1; 2nd word in channel 2..3. value: 1 - name: Individual description: 1st half word (16-bit) in ch.0; 2nd in ch.1; ...; 4th in ch.3. value: 2 - name: WaveForm description: 1st half word (16-bit) in ch.0; 2nd in ch.1; ...; 4th in COUNTERTOP. value: 3 enum/LOOPSDONE_SEQSTART0: bit_size: 1 variants: - name: Disabled description: Disable shortcut. value: 0 - name: Enabled description: Enable shortcut. value: 1 enum/LOOPSDONE_SEQSTART1: bit_size: 1 variants: - name: Disabled description: Disable shortcut. value: 0 - name: Enabled description: Enable shortcut. value: 1 enum/LOOPSDONE_STOP: bit_size: 1 variants: - name: Disabled description: Disable shortcut. value: 0 - name: Enabled description: Enable shortcut. value: 1 enum/LOOP_CNT: bit_size: 16 variants: - name: Disabled description: Looping disabled (stop at the end of the sequence). value: 0 enum/MODE: bit_size: 1 variants: - name: RefreshCount description: SEQ[n].REFRESH is used to determine loading internal compare registers. value: 0 - name: NextStep description: NEXTSTEP task causes a new value to be loaded to internal compare registers. value: 1 enum/PRESCALER: bit_size: 3 variants: - name: DIV_1 description: Divide by 1 (16MHz). value: 0 - name: DIV_2 description: Divide by 2 ( 8MHz). value: 1 - name: DIV_4 description: Divide by 4 ( 4MHz). value: 2 - name: DIV_8 description: Divide by 8 ( 2MHz). value: 3 - name: DIV_16 description: Divide by 16 ( 1MHz). value: 4 - name: DIV_32 description: Divide by 32 ( 500kHz). value: 5 - name: DIV_64 description: Divide by 64 ( 250kHz). value: 6 - name: DIV_128 description: Divide by 128 ( 125kHz). value: 7 enum/REFRESH_CNT: bit_size: 24 variants: - name: Continuous description: Update every PWM period. value: 0 enum/SEQEND0_STOP: bit_size: 1 variants: - name: Disabled description: Disable shortcut. value: 0 - name: Enabled description: Enable shortcut. value: 1 enum/SEQEND1_STOP: bit_size: 1 variants: - name: Disabled description: Disable shortcut. value: 0 - name: Enabled description: Enable shortcut. value: 1 enum/UPDOWN: bit_size: 1 variants: - name: Up description: Up counter - edge aligned PWM duty-cycle. value: 0 - name: UpAndDown description: Up and down counter - center aligned PWM duty cycle. value: 1