if not self.id:
             raise RuntimeError("Can not init a None type pin.")
         # FT232H does't have configurable internal pulls?
         if pull:
         if not self.id:
             raise RuntimeError("Can not init a None type pin.")
         # FT232H does't have configurable internal pulls?
         if pull:
         Pin.ft232h_gpio.set_direction(pin_mask, current)
 
     def value(self, val=None):
         Pin.ft232h_gpio.set_direction(pin_mask, current)
 
     def value(self, val=None):
         if not self.id:
             raise RuntimeError("Can not access a None type pin.")
         current = Pin.ft232h_gpio.read(with_output=True)
         if not self.id:
             raise RuntimeError("Can not access a None type pin.")
         current = Pin.ft232h_gpio.read(with_output=True)
             if val == self.HIGH:
                 current |= 1 << self.id
             else:
                 current &= ~(1 << self.id)
             # must mask out any input pins
             Pin.ft232h_gpio.write(current & Pin.ft232h_gpio.direction)
             if val == self.HIGH:
                 current |= 1 << self.id
             else:
                 current &= ~(1 << self.id)
             # must mask out any input pins
             Pin.ft232h_gpio.write(current & Pin.ft232h_gpio.direction)