pico-feedback
pico-feedback copied to clipboard
Incorrect timing diagrams in chapter 3.2.2
IMHO the timing figures for the example WS2812 LEDs are not correct.
Figure 4 on PDF page 38 states that T1 spans 4 cycles but T1 is defined as having the value 2. side 1 raises on start of instruction jmp !x do_zero side 1 [T1 - 1] and lasts for 2 cycles and not 4 cycles.
Figure 5 on PDF page 39 states that T1 lasts for 4 cycles (same as for figure 3) and T2 only for 3 cycles but T2 is defined as 5 and from my understanding side 1 [T2 - 1] will be high for 5 cycles (instruction cycle plus 4 delay cycles).
At the end, side will be one for 7 cycles, that is correct but the distribution for T1 and T2 is incorrect.
Figure 6 on PDF page 39 shows awrong timing figure, since the T1 and T2 have different values (2 cycles and 5 cycles).
The output should be:
GPIO :
0 for T3 (3 cycles, is correctly shown)
1 for T1 (2 cycles, is incorrectly shown as 4 cycles)
0 for T2 (5 cycles, is incorrectly shown as 3 cycles)
Same holds true for Figure 7 on PDF page 40.
Figure 4 on PDF page 38
Sorry, but which document are you referencing?
I assume it's this one https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
See also the big discussion in #121
Sorry, I refer to the pico--c-sdk: https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
@lurch thank you for the hint. Seems that the issue 'wrong figure' is already around some time. I just struggled when I was reading the German c't Make: "PI Pico Special". I struggled understanding the figures they included in their article about PIO. When asking the authors for helping me in better understanding, they were pointing to the original documentation, the mentioned raspberry-pi-pico-c-sdk.pdf.
At least for me, the correction of the figures would help me in better understanding the effects of side x.
@nathan-contino Check with the ASIC team (and probably @jackbenwillis) and fix up or close appropriately.