/******************************************************************************* * Copyright (c) 2011, 2016 Eurotech and/or its affiliates * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eurotech *******************************************************************************/ package org.eclipse.kura.emulator.gpio; import java.util.HashMap; import java.util.Map; import org.eclipse.kura.gpio.GPIOService; import org.eclipse.kura.gpio.KuraGPIODirection; import org.eclipse.kura.gpio.KuraGPIOMode; import org.eclipse.kura.gpio.KuraGPIOPin; import org.eclipse.kura.gpio.KuraGPIOTrigger; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class GpioServiceImpl implements GPIOService { private static final Logger s_logger = LoggerFactory.getLogger(GpioServiceImpl.class); private static final HashMap<Integer, String> pins = new HashMap<Integer, String>(); protected void activate(ComponentContext componentContext) { s_logger.debug("activating emulated GPIOService"); } protected void deactivate(ComponentContext componentContext) { s_logger.debug("deactivating emulated GPIOService"); } @Override public KuraGPIOPin getPinByName(String pinName) { return new EmulatedPin(pinName); } @Override public KuraGPIOPin getPinByName(String pinName, KuraGPIODirection direction, KuraGPIOMode mode, KuraGPIOTrigger trigger) { return new EmulatedPin(pinName, direction, mode, trigger); } @Override public KuraGPIOPin getPinByTerminal(int terminal) { return new EmulatedPin(terminal); } @Override public KuraGPIOPin getPinByTerminal(int terminal, KuraGPIODirection direction, KuraGPIOMode mode, KuraGPIOTrigger trigger) { return new EmulatedPin(terminal, direction, mode, trigger); } @Override public Map<Integer, String> getAvailablePins() { pins.clear(); for (int i = 1; i < 11; i++) { pins.put(i, "Pin#" + String.valueOf(i)); } return pins; } }