/ src / include / piomatter / protomatter.pio.h
protomatter.pio.h
 1  #pragma once
 2  
 3  const int protomatter_wrap = 4;
 4  const int protomatter_wrap_target = 0;
 5  const int protomatter_sideset_pin_count = 0;
 6  const bool protomatter_sideset_enable = 0;
 7  const uint16_t protomatter[] = {
 8      // ; data format (out-shift-right):
 9      // ; MSB ... LSB
10      // ; 0 ddd......ddd: 31-bit delay
11      // ; 1 ccc......ccc: 31 bit data count
12      // .wrap_target
13      // top:
14      0x6021, //     out x, 1
15      0x605f, //     out y, 31
16      0x0025, //     jmp !x delay_loop
17              // data_loop:
18      0x6000, //     out pins, 32
19      0x0083, //     jmp y--, data_loop
20              // .wrap
21              // delay_loop:
22      0x0085, //     jmp y--, delay_loop
23      0x0000, //     jmp top
24      //     ;; fill program out to 32 instructions so nothing else can load
25      0xa042, //     nop
26      0xa042, //     nop
27      0xa042, //     nop
28      0xa042, //     nop
29      0xa042, //     nop
30      0xa042, //     nop
31      0xa042, //     nop
32      0xa042, //     nop
33      0xa042, //     nop
34      0xa042, //     nop
35      0xa042, //     nop
36      0xa042, //     nop
37      0xa042, //     nop
38      0xa042, //     nop
39      0xa042, //     nop
40      0xa042, //     nop
41      0xa042, //     nop
42      0xa042, //     nop
43      0xa042, //     nop
44      0xa042, //     nop
45      0xa042, //     nop
46      0xa042, //     nop
47      0xa042, //     nop
48      0xa042, //     nop
49      0xa042, //     nop
50  };