| // -------------------------------------------------- // |
| // This file is autogenerated by pioasm; do not edit! // |
| // -------------------------------------------------- // |
| |
| #pragma once |
| |
| #if !PICO_NO_HARDWARE |
| #include "hardware/pio.h" |
| #endif |
| |
| // ---------- // |
| // st7789_raw // |
| // ---------- // |
| |
| #define st7789_raw_wrap_target 0 |
| #define st7789_raw_wrap 1 |
| |
| static const uint16_t st7789_raw_program_instructions[] = { |
| // .wrap_target |
| 0x7001, // 0: out pins, 1 side 0 |
| 0xb842, // 1: nop side 1 |
| // .wrap |
| }; |
| |
| #if !PICO_NO_HARDWARE |
| static const struct pio_program st7789_raw_program = { |
| .instructions = st7789_raw_program_instructions, |
| .length = 2, |
| .origin = -1, |
| }; |
| |
| static inline pio_sm_config st7789_raw_program_get_default_config(uint offset) { |
| pio_sm_config c = pio_get_default_sm_config(); |
| sm_config_set_wrap( |
| &c, offset + st7789_raw_wrap_target, offset + st7789_raw_wrap); |
| sm_config_set_sideset(&c, 2, true, false); |
| return c; |
| } |
| #endif |
| |
| // ------------------- // |
| // st7789_pixel_double // |
| // ------------------- // |
| |
| #define st7789_pixel_double_wrap_target 0 |
| #define st7789_pixel_double_wrap 16 |
| |
| static const uint16_t st7789_pixel_double_program_instructions[] = { |
| // .wrap_target |
| 0x80a0, // 0: pull block |
| 0xa027, // 1: mov x, osr |
| 0x6050, // 2: out y, 16 |
| 0x7001, // 3: out pins, 1 side 0 |
| 0x18e3, // 4: jmp !osre, 3 side 1 |
| 0xa0e1, // 5: mov osr, x |
| 0x6070, // 6: out null, 16 |
| 0x7001, // 7: out pins, 1 side 0 |
| 0x18e7, // 8: jmp !osre, 7 side 1 |
| 0xa0e2, // 9: mov osr, y |
| 0x6070, // 10: out null, 16 |
| 0x7001, // 11: out pins, 1 side 0 |
| 0x18eb, // 12: jmp !osre, 11 side 1 |
| 0xa0e2, // 13: mov osr, y |
| 0x6070, // 14: out null, 16 |
| 0x7001, // 15: out pins, 1 side 0 |
| 0x18ef, // 16: jmp !osre, 15 side 1 |
| // .wrap |
| }; |
| |
| #if !PICO_NO_HARDWARE |
| static const struct pio_program st7789_pixel_double_program = { |
| .instructions = st7789_pixel_double_program_instructions, |
| .length = 17, |
| .origin = -1, |
| }; |
| |
| static inline pio_sm_config st7789_pixel_double_program_get_default_config( |
| uint offset) { |
| pio_sm_config c = pio_get_default_sm_config(); |
| sm_config_set_wrap(&c, |
| offset + st7789_pixel_double_wrap_target, |
| offset + st7789_pixel_double_wrap); |
| sm_config_set_sideset(&c, 2, true, false); |
| return c; |
| } |
| #endif |