# Consecutive processing of output\_pins in macro (SET\_PIN) on rpi pico

**URL:** <https://klipper.discourse.group/t/consecutive-processing-of-output-pins-in-macro-set-pin-on-rpi-pico/2155>\
**Category:** General Discussion\
**Created:** [February 25, 2022, 11:05am UTC](https://klipper.discourse.group/t/consecutive-processing-of-output-pins-in-macro-set-pin-on-rpi-pico/2155 "2022-02-25T11:05:29Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![Buzz](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@Buzz](https://klipper.discourse.group/u/Buzz)\
**Post date:** [March 1, 2022, 6:46am UTC](https://klipper.discourse.group/t/consecutive-processing-of-output-pins-in-macro-set-pin-on-rpi-pico/2155/9 "2022-03-01T06:46:31Z")

</div>

@koconnor

Thank you for your explanation.

At that point I just had no further idea how to continue on my display problem. And my idea was to do the initialization by toggling GPIOs and see where the difference are on my logic analyzer.

But I managed to get it working. It has just needed a few tweaks in the delays on the utilization of the parallel display interface.

See here:

> [@HD44780 connected over RP2040 (RPi Pico)](https://klipper.discourse.group/t/hd44780-connected-over-rp2040-rpi-pico/2157/3):
>
> Here now the patch for using the LCD2004A with an TXS0108E on the RPi Pico: diff --git a/src/lcd\_hd44780.c b/src/lcd\_hd44780.c index 0afca915..bd142d58 100644 --- a/src/lcd\_hd44780.c +++ b/src/lcd\_hd44780.c @@ -45,7 +45,6 @@ static \_\_always\_inline void hd44780\_xmit\_bits(uint8\_t toggle, struct gpio\_out e, struct gpio\_out d4 , struct gpio\_out d5, struct gpio\_out d6, struct gpio\_out d7) { - gpio\_out\_toggle(e); if (toggle & 0x10) gpio\_out\_toggle(d4); if (t…

---

_[View the full topic](https://klipper.discourse.group/t/consecutive-processing-of-output-pins-in-macro-set-pin-on-rpi-pico/2155)._
