/// <summary>
 /// start the sensor
 /// </summary>
 protected override bool StartSensor(SensorRate speed)
 {
     // Register for reading changes.
     Xamarin.Essentials.OrientationSensor.ReadingChanged += OrientationSensor_ReadingChanged;
     Xamarin.Essentials.OrientationSensor.Start(ConvertSensorRate(speed));
     return(true);
 }
Exemple #2
0
 /// <summary>
 /// start the sensor
 /// </summary>
 protected override bool StartSensor(SensorRate speed)
 {
     if (!_gpsStarted)
     {
         _gpsStarted = true;
         _request.DesiredAccuracy = (GeolocationAccuracy)(int)speed;
         _gpsTask = Task.Run(async() =>
         {
             while (_gpsStarted)
             {
                 try
                 {
                     Location oldLocation = Location.Value;
                     // get stock price
                     Location location = await GetLocationAsync();
                     if (_gpsStarted)
                     {
                         // todo: add check for min distance change
                         Location.SendNotification();
                     }
                 }
                 catch
                 {
                 }
                 await Task.Delay(_gpsTaskDelayInMilliSeconds[(int)speed]);
             }
         });
     }
     return(true);
 }
Exemple #3
0
 /// <summary>
 /// start the sensor
 /// </summary>
 protected override bool StartSensor(SensorRate speed)
 {
     // Register for reading changes.
     Xamarin.Essentials.Compass.ReadingChanged += Compass_ReadingChanged;
     Xamarin.Essentials.Compass.Start(ConvertSensorRate(speed));
     return(true);
 }
Exemple #4
0
 /// <summary>
 /// start the sensor
 /// </summary>
 protected override bool StartSensor(SensorRate speed)
 {
     // subscribe for reading changes
     Xamarin.Essentials.Accelerometer.ReadingChanged += Accelerometer_ReadingChanged;
     Xamarin.Essentials.Accelerometer.ShakeDetected  += Accelerometer_ShakeDetected;
     Xamarin.Essentials.Accelerometer.Start(ConvertSensorRate(speed));
     return(true);
 }
Exemple #5
0
 /// <summary>
 /// constructor
 /// </summary>
 protected BaseServiceNode(string id, IotNode parent, SensorRate speed = SensorRate.Medium)
     : base(id, parent)
 {
     Status = new SensorStatusData()
     {
         Id = "Status", Parent = this, SensorRate = speed, IsOn = false
     };
     UpsertData(Status);
 }
Exemple #6
0
 /// <summary>
 /// start all sensors
 /// </summary>
 public void StartAll(SensorRate rate = SensorRate.Medium)
 {
     foreach (IotNode node in Children)
     {
         BaseServiceNode sensor = node as BaseServiceNode;
         if (sensor == null)
         {
             continue;
         }
         sensor.Status.SensorRate = rate;
         sensor.Start();
     }
 }
Exemple #7
0
        /// <summary>
        /// change the status
        /// </summary>
        public void SetStatus(SensorRate rate, bool onOff)
        {
            SensorStatusData data = this.Status;

            if (data.SensorRate != rate || data.IsOn != onOff)
            {
                data.SensorRate = rate;
                if (data.IsOn && !onOff)
                {
                    StopSensor();
                }
                else
                {
                    StartSensor(rate);
                }
            }
        }
Exemple #8
0
        protected SensorSpeed ConvertSensorRate(SensorRate rate)
        {
            switch (rate)
            {
            case SensorRate.Lowest:
            case SensorRate.Low:
            case SensorRate.Medium:
                return(SensorSpeed.UI);

            case SensorRate.Default:
                return(SensorSpeed.Default);

            case SensorRate.High:
                return(SensorSpeed.Game);

            case SensorRate.Best:
                return(SensorSpeed.Fastest);
            }
            return(SensorSpeed.UI);
        }
Exemple #9
0
 /// <summary>
 /// start the sensor
 /// </summary>
 protected override bool StartSensor(SensorRate speed)
 {
     return(true);
 }
Exemple #10
0
 /// <summary>
 /// start the sensor, return true if sensor started
 /// </summary>
 protected abstract bool StartSensor(SensorRate speed);