Search in sources :

Example 1 with GpioPinAnalogInput

use of com.pi4j.io.gpio.GpioPinAnalogInput in project openhab1-addons by openhab.

the class MCP3424Binding method bindGpioPin.

private void bindGpioPin(MCP3424BindingProvider provider, String itemName) {
    try {
        int address = provider.getBusAddress(itemName);
        MCP3424GpioProvider mcp = mcpProviders.get(address);
        if (mcp == null) {
            try {
                int gain = provider.getGain(itemName);
                int resolution = provider.getResolution(itemName);
                mcp = new MCP3424GpioProvider(I2CBus.BUS_1, address, resolution, gain);
                mcp.setMonitorInterval(pollingInterval);
            } catch (UnsupportedBusNumberException ex) {
                throw new IllegalArgumentException("Tried to access not available I2C bus");
            }
            mcpProviders.put(address, mcp);
        }
        mcp.setMonitorEnabled(false);
        Pin pin = provider.getPin(itemName);
        GpioPinAnalogInput input = gpio.provisionAnalogInputPin(mcp, pin, itemName);
        input.addListener(this);
        input.setTag(provider.getItem(itemName));
        gpioPins.put(itemName, input);
        mcp.setEventThreshold(0, input);
        mcp.setMonitorEnabled(true);
        logger.debug("Provisioned analog input for {}", itemName);
    } catch (IOException exception) {
        logger.error("I/O error {}", exception.getMessage());
    }
}
Also used : MCP3424GpioProvider(com.pi4j.gpio.extension.mcp.MCP3424GpioProvider) GpioPin(com.pi4j.io.gpio.GpioPin) Pin(com.pi4j.io.gpio.Pin) IOException(java.io.IOException) UnsupportedBusNumberException(com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException) GpioPinAnalogInput(com.pi4j.io.gpio.GpioPinAnalogInput)

Aggregations

MCP3424GpioProvider (com.pi4j.gpio.extension.mcp.MCP3424GpioProvider)1 GpioPin (com.pi4j.io.gpio.GpioPin)1 GpioPinAnalogInput (com.pi4j.io.gpio.GpioPinAnalogInput)1 Pin (com.pi4j.io.gpio.Pin)1 UnsupportedBusNumberException (com.pi4j.io.i2c.I2CFactory.UnsupportedBusNumberException)1 IOException (java.io.IOException)1