code: def _pulse_data(self, value):
          
          if self._i2c_expander == 'PCF8574':
              self.bus.write_byte(self._address, ((value & ~PCF8574_E) | self._backlight))
              c.usleep(1)
              self.bus.write_byte(self._address, value | PCF8574_E | self._backlight)
              c.usleep(1)
              self.bus.write_byte(self._address, ((value & ~PCF8574_E) | self._backlight))
              c.usleep(100)
          elif self._i2c_expander in ['MCP23008', 'MCP23017']:
              self._mcp_data &= ~MCP230XX_DATAMASK
              self._mcp_data |= value << MCP230XX_DATASHIFT
              self._mcp_data &= ~MCP230XX_E
              self.bus.write_byte_data(self._address, self._mcp_gpio, self._mcp_data)
              c.usleep(1)
              self._mcp_data |= MCP230XX_E
              self.bus.write_byte_data(self._address, self._mcp_gpio, self._mcp_data)
              c.usleep(1)
              self._mcp_data &= ~MCP230XX_E
              self.bus.write_byte_data(self._address, self._mcp_gpio, self._mcp_data)
              c.usleep(100)
docs: Pulse the `enable` flag to process value.