/******************************************************************************* * 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.raspberrypi.sensehat.impl; import org.eclipse.kura.raspberrypi.sensehat.SenseHat; import org.eclipse.kura.raspberrypi.sensehat.ledmatrix.FrameBuffer; import org.eclipse.kura.raspberrypi.sensehat.sensors.HTS221; import org.eclipse.kura.raspberrypi.sensehat.sensors.LPS25H; import org.eclipse.kura.raspberrypi.sensehat.sensors.LSM9DS1; import org.eclipse.kura.raspsberrypi.sensehat.joystick.Joystick; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SenseHatImpl implements SenseHat { private static final Logger s_logger = LoggerFactory.getLogger(SenseHatImpl.class); private ComponentContext m_ctx; protected void activate(ComponentContext componentContext) { s_logger.info("Activate SenseHat Service."); this.m_ctx = componentContext; } protected void deactivate(ComponentContext componentContext) { s_logger.info("Deactivate SenseHat Service."); FrameBuffer.closeFrameBuffer(); Joystick.closeJoystick(); HTS221.closeDevice(); LPS25H.closeDevice(); LSM9DS1.closeDevice(); } @Override public FrameBuffer getFrameBuffer() { return FrameBuffer.getFrameBuffer(this.m_ctx); } @Override public Joystick getJoystick() { return Joystick.getJoystick(); } @Override public HTS221 getHumiditySensor(int bus, int address, int addressSize, int frequency) { return HTS221.getHumiditySensor(bus, address, addressSize, frequency); } @Override public LPS25H getPressureSensor(int bus, int address, int addressSize, int frequency) { return LPS25H.getPressureSensor(bus, address, addressSize, frequency); } @Override public LSM9DS1 getIMUSensor(int bus, int accAddress, int magAddress, int addressSize, int frequency) { return LSM9DS1.getIMUSensor(bus, accAddress, magAddress, addressSize, frequency); } }