You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To develop a PIO program you first start out with the .pio file. Let's look at the Pulsar example first.
54
+
55
+
1.`pulsar.pio` specifies a binary PIO program that can be loaded to the PIO program memory.
56
+
2.`all_generate.go`: holds the code generation command on the line with `//go:generate pioasm -o go pulsar.pio pulsar_pio.go` which by itself generates the raw binary code that can be loaded onto the PIO along with helper code to load it correctly inside `pulsar_pio.go`.
57
+
3.`pulsar_pio.go`: contains the generated code by the `pioasm` tool.
58
+
4.`pulsar.go`: contains the User facing code that allows using the PIO as intended by the author.
59
+
60
+
### Regenerating piolib
61
+
62
+
```shell
63
+
cd rp2-pio/piolib
64
+
go generate .
65
+
```
66
+
67
+
### Other notes
68
+
69
+
Keep in mind PIO programs are very finnicky, especially differentiating between SetOutPins and SetSetPins. The difference is subtle but it can be the difference between spending days debugging a silly conceptual mistake. Have fun!
0 commit comments