Pico-Arduino
pio_uart_tx.h
1 // -------------------------------------------------- //
2 // This file is autogenerated by pioasm; do not edit! //
3 // -------------------------------------------------- //
4 
5 #if !PICO_NO_HARDWARE
6 #include "hardware/pio.h"
7 #endif
8 
9 // ----------- //
10 // pio_uart_tx //
11 // ----------- //
12 
13 #define pio_uart_tx_wrap_target 0
14 #define pio_uart_tx_wrap 3
15 
16 static const uint16_t pio_uart_tx_program_instructions[] = {
17  // .wrap_target
18  0x9fa0, // 0: pull block side 1 [7]
19  0xf727, // 1: set x, 7 side 0 [7]
20  0x6001, // 2: out pins, 1
21  0x0642, // 3: jmp x--, 2 [6]
22  // .wrap
23 };
24 
25 #if !PICO_NO_HARDWARE
26 static const struct pio_program pio_uart_tx_program = {
27  .instructions = pio_uart_tx_program_instructions,
28  .length = 4,
29  .origin = -1,
30 };
31 
32 static inline pio_sm_config pio_uart_tx_program_get_default_config(uint offset) {
33  pio_sm_config c = pio_get_default_sm_config();
34  sm_config_set_wrap(&c, offset + pio_uart_tx_wrap_target, offset + pio_uart_tx_wrap);
35  sm_config_set_sideset(&c, 2, true, false);
36  return c;
37 }
38 #endif
39