private void InstantiateNewDevice(WifiDevice wifiDevice) { wifiDevice.Timer.Tick += (sender, args) => Timer_Tick(wifiDevice); wifiDevice.Timer.Interval = new TimeSpan(0, 0, 30); wifiDevice.Timer.Start(); Devices.Add(wifiDevice); }
public LiveWifiAndBluetoothShellDataViewModel(IBluetoothFinder bluetoothFinder, IShellTemperatureRepository <ShellTemp> shellTemperatureRepository, IShellTemperatureRepository <SdCardShellTemp> sdCardShellTemperatureRepository, IDeviceRepository <DeviceInfo> deviceRepository, IConfiguration configuration, BluetoothConnectionSubject subject, TemperatureSubject temperatureSubject, ILogger <LiveBluetoothOnlyShellDataViewModel> logger, OutlierDetector outlierDetector, ClearList clear, IRepository <ShellTemperatureComment> commentRepository, IReadingCommentRepository <ReadingComment> readingCommentRepository, IRepository <Positions> positionRepository, IRepository <ShellTemperaturePosition> shellTempPositionRepository, IRepository <SdCardShellTemperatureComment> sdCardCommentRepository) : base(bluetoothFinder, shellTemperatureRepository, sdCardShellTemperatureRepository, deviceRepository, configuration, subject, temperatureSubject, logger, outlierDetector, clear, commentRepository, readingCommentRepository, positionRepository, shellTempPositionRepository, sdCardCommentRepository) { _shellTemperatureRepository = shellTemperatureRepository; IList <DeviceInfo> potentialWifiDevices = FindPotentialWifiDevices(); foreach (DeviceInfo device in potentialWifiDevices.ToList()) { DateTime start = DateTime.Now.AddMinutes(-2); DateTime end = DateTime.Now; WifiDevice wifiDevice = new WifiDevice(device.DeviceName, device.DeviceAddress, start); IEnumerable <ShellTemp> shellTemps = _shellTemperatureRepository.GetShellTemperatureData(start, end, device.DeviceName, device.DeviceAddress); ShellTemp[] dataReadings = shellTemps as ShellTemp[] ?? shellTemps.ToArray(); if (dataReadings.Length == 0) { potentialWifiDevices.Remove(device); } else { SetWifiDeviceDataReadings(wifiDevice, dataReadings); SetWifiDeviceDataPoints(wifiDevice); InstantiateNewDevice(wifiDevice); wifiDevice.State.Message = "Connected To - " + wifiDevice.DeviceName; } } SetSelectedDeviceWhenNull(); if (Devices.Count == 1) // only one in devices so, must be selected { SetConnectionStatus(SelectedDevice, DeviceConnectionStatus.CONNECTED); } SetCanRemoveDevices(); }
public void Connect(WifiDevice item) { var config = new WifiConfiguration { Ssid = item.Name, PreSharedKey = "\"12345678\"" }; _wifiManager.AddNetwork(config); _wifiManager.Disconnect(); _wifiManager.EnableNetwork(config.NetworkId, true); _wifiManager.Reconnect(); }
/// <summary> /// Creates an instance. /// </summary> public FeatherBoard() { try { // Initialize hardware HardwareProvider.Initialize(); // Initialize components Network = WifiDevice.Initialize(); Led = new LedDevice(SC20100.GpioPin.PE11); } catch { // Close devices in case partially initialized Network?.Dispose(); // Continue error throw; } }
/// <summary> /// Creates an instance. /// </summary> public DuinoBoard() { try { // Initialize hardware HardwareProvider.Initialize(); // Initialize components Network = WifiDevice.Initialize(); Storage = CardDevice.Connect(SC20100.StorageController.SdCard); Led = new LedDevice(SC20100.GpioPin.PE11); } catch { // Close devices in case partially initialized Network?.Dispose(); Storage?.Dispose(); // Continue error throw; } }
private void Timer_Tick(WifiDevice device) { // Last record datetime plus one second DateTime start = device.Temp[^ 1].RecordedDateTime.AddSeconds(1);
private ShellTemp[] GetDeviceData(DateTime start, DateTime end, WifiDevice device) { return(ShellTemperatureRepository.GetShellTemperatureData(start, end, device.DeviceName, device.DeviceAddress).ToArray()); }