123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package com.feemers.android.fftdrawer.SignalProcessing;
-
- import android.hardware.SensorManager;
-
- import java.util.Observer;
-
-
- public class SignalProcessingControl {
- private IDetector detector;
- private ISensor sensor;
- private Notifier notifier;
- private Logger logger;
-
- public SignalProcessingControl(SensorManager sensorManager, Logger logger) {
- this.logger = logger;
- logger.log("SignalProcessingControl()");
-
- // create notifier
- notifier = new Notifier();
-
- // create detector
- //detector = new DetectorTimedomain(20);
- detector = new DetectorFFT(20);
- detector.setThreshold(6); //TODO: Remove hardcoded threshold and read from GUI instead
- detector.connectNotifier(notifier);
-
- // create & link hardware to sensor -> sensorManager
- MySensor mySensor = new MySensor();
- mySensor.connectSensorManager(sensorManager);
- this.sensor = mySensor;
- }
-
- public void init() {
- logger.log("SignalProcessingControl: init()");
- sensor.connectDetector(detector);
- }
-
- public void start() {
- logger.log("SignalProcessingControl: start()");
- sensor.startSampling();
- }
-
- public void stop() {
- logger.log("SignalProcessingControl: stop()");
- sensor.stopSampling();
- }
-
- public Notifier getNotifier() {
- return notifier;
- }
- }
|