示例#1
0
        /// <summary>
        /// Default constructor
        /// </summary>
        public BGattCallback()
        {
            Log.Debug(TAG, "Creating callback for LE Bluetooth Devices");

            // Init lists
            notifyChars   = new List <string>();
            deviceDetails = new Dictionary <string, string>();

            // Creating read timeout timer
            readTimer           = new System.Timers.Timer(BluetoothConstants.LE_TIMEOUT);
            readTimer.AutoReset = true;

            // Setting the last change to be the minimum value
            lastChange = new DateTime();
            lastChange = DateTime.MinValue;

            // Setting up the Receivers
            detailReceiver = new SensorReadingBroadcastReceiver();
            IntentFilter fil = new IntentFilter();

            fil.AddAction(AppUtil.SENSOR_READING_UPDATE_ACTION);
            fil.Priority = 100;
            Android.App.Application.Context.RegisterReceiver(detailReceiver, fil);

            updateReceiver = new SensorStateBroadcastReceiver();
            fil            = new IntentFilter();
            fil.AddAction(AppUtil.SENSOR_CONNECT_ACTION);
            fil.AddAction(AppUtil.SENSOR_DISCONNECT_ACTION);
            fil.AddAction(AppUtil.SENSOR_REMOVED_ACTION);
            fil.Priority = 100;
            Android.App.Application.Context.RegisterReceiver(updateReceiver, fil);
        }
示例#2
0
        /// <summary>
        /// Initialize this instance.
        /// </summary>
        public void Initialize()
        {
            _adpt = BluetoothAdapter.DefaultAdapter;

            _addDeviceButton        = (Button)myView.FindViewById(Resource.Id.addDevice);
            _addDeviceButton.Click += (sender, e) => buttonClick(sender, e);

            _connectedDevices    = new List <string>();
            _disconnectedDevices = new List <string>();

            // Switch that controls whether messages are sent about this sensor
            _scanSwitch = (Switch)myView.FindViewById(Resource.Id.sensor_send_switch);
            _scanSwitch.CheckedChange += switchClick;

            // Broadcast res
            sensorReadingReceiver = new SensorReadingBroadcastReceiver();
            sensorReadingReceiver.OnSensorReading += onNewReading;

            sensorStateReceiver = new SensorStateBroadcastReceiver();
            sensorStateReceiver.SensorDisconnect      += DisconnectSensor;
            sensorStateReceiver.SensorAdded           += AddSensor;
            sensorStateReceiver.SensorRemoved         += RemoveSensor;
            sensorStateReceiver.SensorReportingPaused += PauseSensor;
            sensorStateReceiver.SensorConnect         += ConnectSensor;

            resetLiveView();

            sentTimeUpdate           = new System.Timers.Timer();
            sentTimeUpdate.Interval  = 1000 * 5;
            sentTimeUpdate.Elapsed  += updateLastSent;
            sentTimeUpdate.AutoReset = true;

            _connectedDeviceMap = new Dictionary <string, bool>();

            // broadcast receiver
            IntentFilter fil = new IntentFilter();

            fil.AddAction(AppUtil.SENSOR_READING_UPDATE_ACTION);
            fil.Priority = 99;
            Android.App.Application.Context.RegisterReceiver(sensorReadingReceiver, fil);


            fil = new IntentFilter();
            fil.AddAction(AppUtil.SENSOR_CONNECT_ACTION);
            fil.AddAction(AppUtil.SENSOR_DISCONNECT_ACTION);
            fil.AddAction(AppUtil.SENSOR_ADDED_ACTION);
            fil.AddAction(AppUtil.SENSOR_REMOVED_ACTION);
            fil.AddAction(AppUtil.SENSOR_PAUSE_ACTION);
            fil.Priority = 91;
            Android.App.Application.Context.RegisterReceiver(sensorStateReceiver, fil);
        }
示例#3
0
        /// <summary>
        /// Default Constructor.
        /// </summary>
        public LESensorService()
        {
            // Setting up adapter
            _adpt = BluetoothAdapter.DefaultAdapter;

            // Broadcast rec
            _sensorReadingReceiver = new SensorReadingBroadcastReceiver();
            _sensorStateReceiver   = new SensorStateBroadcastReceiver();

            _sensorStateReceiver.SensorAdded           += AddNewSensor;
            _sensorStateReceiver.SensorRemoved         += RemoveSensor;
            _sensorStateReceiver.SensorReportingPaused += onReportingPaused;
            _sensorStateReceiver.SensorDisconnect      += OnSensorDisconnect;

            // List of background workers
            sensorThreads = new Dictionary <string, BackgroundWorker>();
        }