acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

pio_SPI_18bit.pio.h (2824B)

      1 // -------------------------------------------------- //
      2 // This file is autogenerated by pioasm; do not edit! //
      3 // 8 + 18 bit SPI - no auto colour conversion         //
      4 // -------------------------------------------------- //
      5 
      6 #pragma once
      7 
      8 #if !PICO_NO_HARDWARE
      9 #include "hardware/pio.h"
     10 #endif
     11 
     12 // ------ //
     13 // tft_io //
     14 // ------ //
     15 
     16 #define tft_io_wrap_target 27
     17 #define tft_io_wrap 31
     18 
     19 #define tft_io_offset_start_8 0u
     20 #define tft_io_offset_set_addr_window 3u
     21 #define tft_io_offset_block_fill 17u
     22 #define tft_io_offset_start_tx 27u
     23 
     24 static const uint16_t tft_io_program_instructions[] = {
     25     0x90a0, //  0: pull   block           side 0     
     26     0x6019, //  1: out    pins, 25                   
     27     0x181e, //  2: jmp    30              side 1     
     28     0xf022, //  3: set    x, 2            side 0     
     29     0xe000, //  4: set    pins, 0                    
     30     0x90a0, //  5: pull   block           side 0     
     31     0x6019, //  6: out    pins, 25                   
     32     0xb842, //  7: nop                    side 1     
     33     0x7001, //  8: out    pins, 1         side 0     
     34     0x18e8, //  9: jmp    !osre, 8        side 1     
     35     0xf001, // 10: set    pins, 1         side 0     
     36     0x003b, // 11: jmp    !x, 27                     
     37     0x80a0, // 12: pull   block                      
     38     0x7001, // 13: out    pins, 1         side 0     
     39     0x18ed, // 14: jmp    !osre, 13       side 1     
     40     0x1044, // 15: jmp    x--, 4          side 0     
     41     0x001b, // 16: jmp    27                         
     42     0x90a0, // 17: pull   block           side 0     
     43     0xa027, // 18: mov    x, osr                     
     44     0x80a0, // 19: pull   block                      
     45     0xa047, // 20: mov    y, osr                     
     46     0xb0e1, // 21: mov    osr, x          side 0     
     47     0x7009, // 22: out    pins, 9         side 0     
     48     0xb842, // 23: nop                    side 1     
     49     0x7001, // 24: out    pins, 1         side 0     
     50     0x18f8, // 25: jmp    !osre, 24       side 1     
     51     0x1095, // 26: jmp    y--, 21         side 0     
     52             //     .wrap_target
     53     0x90a0, // 27: pull   block           side 0     
     54     0x7009, // 28: out    pins, 9         side 0     
     55     0xb842, // 29: nop                    side 1     
     56     0x7001, // 30: out    pins, 1         side 0     
     57     0x18fe, // 31: jmp    !osre, 30       side 1     
     58             //     .wrap
     59 };
     60 
     61 #if !PICO_NO_HARDWARE
     62 static const struct pio_program tft_io_program = {
     63     .instructions = tft_io_program_instructions,
     64     .length = 32,
     65     .origin = -1,
     66 };
     67 
     68 static inline pio_sm_config tft_io_program_get_default_config(uint offset) {
     69     pio_sm_config c = pio_get_default_sm_config();
     70     sm_config_set_wrap(&c, offset + tft_io_wrap_target, offset + tft_io_wrap);
     71     sm_config_set_sideset(&c, 2, true, false);
     72     return c;
     73 }
     74 #endif