Esempio n. 1
0
        public PositionPage(Position position)
        {
            InitializeComponent();
            var serviceProvider = Startup.ServiceProvider;

            this.wifiConnector             = serviceProvider.GetService <IWifiConnector>();
            this.bluetoothConnector        = serviceProvider.GetService <IBluetoothConnector>();
            this.magneticFieldSensor       = serviceProvider.GetService <MagneticFieldSensor>();
            this.calibrationsService       = serviceProvider.GetService <ICalibrationService>();
            this.positionSignalDataService = serviceProvider.GetService <IPositionSignalDataService>();
            this.positionEstimationService = serviceProvider.GetService <IPositionEstimationService>();
            this.localeProvider            = serviceProvider.GetService <LocaleProvider>();
            this.configuration             = serviceProvider.GetService <Configuration>();
            this.Position = position;

            PositionSignalDataCollection.RefreshCommand = RefreshData_Command;
            PositionSignalDataCollection.ItemsSource    = PositionSignalData;
            Position.PositionSignalData?
            .OrderBy(data => data.SignalType)
            .ThenByDescending(data => data.Strength)
            .ToList()
            .ForEach(data => PositionSignalData.Add(new PositionSignalDataView(data)));

            BindingContext = this;
            timer          = new Timer(configuration !.DataAquisitionInterval * 1000);
            timer.Elapsed += UpdateMonitoringState;
            timer.Start();
            countLabel.Text = count.ToString();
        }
Esempio n. 2
0
        public PositionEstimationPage(Locale locale)
        {
            InitializeComponent();
            var serviceProvider = Startup.ServiceProvider;

            this.wifiConnector             = serviceProvider.GetService <IWifiConnector>();
            this.bluetoothConnector        = serviceProvider.GetService <IBluetoothConnector>();
            this.magneticFieldSensor       = serviceProvider.GetService <MagneticFieldSensor>();
            this.positionEstimationService = serviceProvider.GetService <IPositionEstimationService>();
            this.positionsService          = serviceProvider.GetService <IPositionService>();
            this.configuration             = serviceProvider.GetService <Configuration>();
            this.Locale = locale;

            PositionSignalDataCollection.ItemsSource = PositionSignalData;

            BindingContext = this;
            timer          = new Timer(configuration.DataAquisitionInterval * 1000);
            timer.Elapsed += UpdateMonitoringState;
            timer.Start();

            var positions = new List <Position>();

            Locale.Zones?.ForEach(zone => positions.AddRange(zone.Positions));
            chart = ChartsFactory.CreatePositionSignalDataScatterChart(AppResources.Current_locale, "", "", positions, "X", "Y", showError: false, markerLabel: "Id", height: 1200 + ((int)Math.Floor(positions.Count / 2.0) * 30));
            chartStack.Children.Add(chart);
        }
Esempio n. 3
0
 public async Task <ActionResult <PositionEstimation> > EstimatePosition(
     [FromServices] IPositionEstimationService positionEstimationService,
     [FromBody] EstimatePositionCommand command)
 {
     return(await positionEstimationService.EstimatePosition(command));
 }
Esempio n. 4
0
 public ReportsService(IPositionEstimationService positionEstimationService, DatabaseContext databaseContext)
 {
     this.positionEstimationService = positionEstimationService;
     this.databaseContext           = databaseContext;
 }