Alan Gauld <learn2prog...@gmail.com> wrote: > On 31/08/2023 22:15, Chris Green via Python-list wrote: > > > class Gpiopin: > > > > def __init__(self, pin): > > # > > # > > # scan through the GPIO chips to find the line/pin we want > > # > > for c in ['gpiochip0', 'gpiochip1', 'gpiochip2', 'gpiochip3']: > > > > chip = gpiod.Chip(c) > > for l in range(32): > > line = chip.get_line(l) > > if pin in line.name(): > > print("Found: ", line.name()) > > return > > else: > > raise ValueError("Can't find pin '" + pin + "'") > > You don't store the line anywhere. > You need to use self.line > self.line = chip.get_line(l) > if pin... > > > def print_name(self): > > print (self.line.name()) > > > > def set(self): > > self.line.set_value(1) > > > > def clear(self): > > self.line.set_value(0) > > As you do here. > Yes, OK, absolutely. However that wasn't my original rather basic problem which was, as I said, that I wasn't running the code I was looking at.
The above was just a quick hack from some even cruder code doing the same job, trying to develop it into something better and more general. It's all on a headless Beaglebone Black (bit like a Raspberry Pi) so I'm doing everything via multiple ssh connections and sometimes this results in "the left hand not knowing what the right hand is doing"! -- Chris Green ยท -- https://mail.python.org/mailman/listinfo/python-list