public SenseResponse GetSensorsData() { var response = new SenseResponse(); try { var imu = _senseCommon.GetData(); var pressure = _sensePressure.Read(); var humidity = _senseHumidity.Read(); response = new SenseResponse { FusionPose = imu.FusionPoseValid ? imu.FusionPose : (Vector3?)null, FusionQPose = imu.FusionQPoseValid ? imu.FusionQPose : (Quaternion?)(null), Gyro = imu.GyroValid ? imu.Gyro : (Vector3?)null, Accel = imu.AccelValid ? imu.Accel : (Vector3?)null, Compass = imu.CompassValid ? imu.Compass : (Vector3?)null, Pressure = pressure.PressureValid ? pressure.Pressure : (float?)null, PressureTemperature = pressure.TemperatureValid ? pressure.Temperatur : (float?)null, Humidity = humidity.HumidityValid ? humidity.Humidity : (float?)null, HumidityTemperature = humidity.TemperatureValid ? humidity.Temperatur : (float?)null }; _statusReportService.DisplayStatus(response); return(response); } catch (Exception ex) { _logger.LogError(ex, "Error reading Sense data"); _statusReportService.DisplayStatus(response); } return(null); }
private void OpenDevices() { var temperatureInterfaces = DeviceList .Local .GetHidDevices() .Where(hid => hid.ProductID == PRODUCT_ID && hid.VendorID == VENDOR_ID); _controlDevice = temperatureInterfaces.FirstOrDefault(x => x.DevicePath.Contains(CONTROL_INTERFACE_NAME)); _bulkDevice = temperatureInterfaces.FirstOrDefault(x => x.DevicePath.Contains(BULK_INTERFACE_NAME)); if (_controlDevice == null || _bulkDevice == null) { _statusReportService.DisplayStatus(new OutsideTemperatureResponse()); return; } if (_controlDevice.TryOpen(out _controlStream)) { _controlDeviceOpen = true; _controlStream.Write(_iniCommand); _controlStream.Write(_ini1Command); _controlStream.Write(_ini2Command); } if (_bulkDevice.TryOpen(out _bulkStream)) { _bulkDeviceOpen = true; } }
public GpsModuleStatusResponse GetStatus() { var response = new GpsModuleStatusResponse { Enabled = false }; var command = $"{BASE_COMMAND}{GET_STATUS_COMMAND}"; _logger.LogInformation(command); _serialPort.WriteLine(command); Thread.Sleep(500); var rawResponse = _serialPort.ReadExisting(); _logger.LogInformation(rawResponse); if (rawResponse.Contains("OK")) { try { var parsedResponse = ParseStatusResponse(rawResponse); response = new GpsModuleStatusResponse { Enabled = parsedResponse[0] == "1", Mode = (GpsModuleModes)int.Parse(parsedResponse[1]) }; _statusReportService.DisplayStatus(response); return(response); } catch (Exception ex) { _logger.LogError(ex, "Error parsing GPS Status Response"); _statusReportService.DisplayStatus(response); } } return(response); }
public GpsModuleResponse GetGpsData() { var response = new GpsModuleResponse(); var command = $"{BASE_COMMAND}"; _logger.LogInformation(command); _serialPort.WriteLine(command); var rawResponse = _serialPort.ReadExisting(); _logger.LogInformation(rawResponse); try { response = FormatResponse(ParseCoordinatesResponse(rawResponse)); _statusReportService.DisplayStatus(response); return(response); } catch (Exception ex) { _logger.LogError(ex, "Error parsing coordinates"); _statusReportService.DisplayStatus(response); } return(null); }