summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2018-01-26 16:53:35 +0100
committerasanoaozora <fifitaneki@hotmail.com>2018-01-26 16:53:35 +0100
commit576d409eeef48ed823ec53dbd62baadf4926ca8f (patch)
tree60ebe948a477b954e55ca6b08533a5d295d8f06e
parent27f95b9d679911da175f7f83159cc123a4d49e3d (diff)
downloadpositioning-576d409eeef48ed823ec53dbd62baadf4926ca8f.tar.gz
GNSS/SNS: create separate files for configuration
-rw-r--r--gnss-service/api/franca/GnssService.fidl19
-rw-r--r--gnss-service/api/franca/GnssServiceConfiguration.fidl59
-rw-r--r--gnss-service/api/franca/GnssServiceTypes.fidl207
-rw-r--r--sensors-service/api/franca/Acceleration.fidl44
-rw-r--r--sensors-service/api/franca/AccelerationConfiguration.fidl150
-rw-r--r--sensors-service/api/franca/Gyroscope.fidl139
-rw-r--r--sensors-service/api/franca/GyroscopeConfiguration.fidl151
-rw-r--r--sensors-service/api/franca/MetaData.fidl4
-rw-r--r--sensors-service/api/franca/SensorsServiceTypes.fidl12
9 files changed, 467 insertions, 318 deletions
diff --git a/gnss-service/api/franca/GnssService.fidl b/gnss-service/api/franca/GnssService.fidl
index fed8aba..9f64cf1 100644
--- a/gnss-service/api/franca/GnssService.fidl
+++ b/gnss-service/api/franca/GnssService.fidl
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: GnssService
Compliance Level: Abstract Component
- Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
@@ -19,15 +19,6 @@ interface Gnss {
minor 0
}
- <** @description: getConfiguration = Accessing static configurationdata related to the GNSS service. **>
- method getConfiguration {
- out {
- TGNSSConfiguration gnssConfig
- <** @description: provided = Is true if data can be provided and false otherwise, e.g. missing initialization **>
- Boolean provided
- }
- }
-
<** @description: getTime = get the UTC date and time data of the GNSS receiver at a specific point in time. **>
method getTime {
out {
@@ -153,8 +144,6 @@ interface Gnss {
}
}
-//Method and broadcast defined into 'gnss-status.h'
-
<** @description: getStatus = get the GNSS status at a specific point in time. **>
method getStatus {
out {
@@ -173,8 +162,6 @@ interface Gnss {
}
}
-//Method defined into 'gnss-meta-data.h'
-
<** @description: getMetaData = get the meta information about GNSS service. **>
method getMetaData {
out {
@@ -184,8 +171,6 @@ interface Gnss {
}
}
-//Methods defined into 'gnss-init.h'
-
<** @description: init = Initialization of the GNSS service.
Must be called before using the GNSS service to set up the service. **>
method init {
diff --git a/gnss-service/api/franca/GnssServiceConfiguration.fidl b/gnss-service/api/franca/GnssServiceConfiguration.fidl
new file mode 100644
index 0000000..ecd1b49
--- /dev/null
+++ b/gnss-service/api/franca/GnssServiceConfiguration.fidl
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: MPL-2.0
+ Component Name: GnssService
+ Compliance Level: Abstract Component
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
+ License:
+ This Source Code Form is subject to the terms of the
+ Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+package org.genivi.GnssService
+
+import org.genivi.GnssService.GnssServiceTypes.* from "GnssServiceTypes.fidl"
+
+<** @description : Gnss = This interface offers functionalities to retrieve the GNSS position of the vehicle **>
+interface Configuration {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ 3 dimensional distance used for description of geometric descriptions within the vehicle reference system.
+ The vehicle axis system as defined in ISO 8855:2011(E).
+ In this system, the axes (Xv, Yv, Zv) are oriented as follows
+ - Xv is in the horizontal plane, pointing forwards
+ - Yv is in the horizontal plane, pointing to the left
+ - Zv is perpendicular to the horizontal plane, pointing upwards
+ For an illustration, see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
+ The reference point of the vehicle lies underneath the center of the rear axle on the surface of the road.
+ **>
+ struct TGNSSDistance3D {
+ Float x // Distance in x direction in [m] according to the reference coordinate system.
+ Float y // Distance in y direction in [m] according to the reference coordinate system.
+ Float z // Distance in z direction in [m] according to the reference coordinate system.
+ }
+
+ <** @description:
+ Static configuration data related to the GNSS service.
+ **>
+ struct TGNSSConfiguration {
+ TGNSSDistance3D antennaPosition // GNSS antenna position relative to the vehicle reference point.
+ UInt32 supportedSystems // Bit mask indicating the satellite systems which are supported by the GNSS hardware
+ // [bitwise or'ed see ref EGNSSSystem values].
+ UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
+ // [bitwise or'ed see ref EGNSSConfigValidityBits values].
+ // Must be checked before usage.
+ }
+
+ <** @description: getConfiguration = Accessing static configurationdata related to the GNSS service. **>
+ method getConfiguration {
+ out {
+ TGNSSConfiguration gnssConfig
+ <** @description: provided = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean provided
+ }
+ }
+
+}
diff --git a/gnss-service/api/franca/GnssServiceTypes.fidl b/gnss-service/api/franca/GnssServiceTypes.fidl
index a32f3d1..751863b 100644
--- a/gnss-service/api/franca/GnssServiceTypes.fidl
+++ b/gnss-service/api/franca/GnssServiceTypes.fidl
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: MPL-2.0
Component Name: EnhancedPositionService
Compliance Level: Abstract Component
- Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
@@ -11,22 +11,9 @@
package org.genivi.GnssService
typeCollection GnssServiceTypes {
-
-//Types and enums defined into 'gnss.h'
- <** @description:
- 3 dimensional distance used for description of geometric descriptions within the vehicle reference system.
- The vehicle axis system as defined in ISO 8855:2011(E).
- In this system, the axes (Xv, Yv, Zv) are oriented as follows
- - Xv is in the horizontal plane, pointing forwards
- - Yv is in the horizontal plane, pointing to the left
- - Zv is perpendicular to the horizontal plane, pointing upwards
- For an illustration, see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
- The reference point of the vehicle lies underneath the center of the rear axle on the surface of the road.
- **>
- struct TGNSSDistance3D {
- Float x // Distance in x direction in [m] according to the reference coordinate system.
- Float y // Distance in y direction in [m] according to the reference coordinate system.
- Float z // Distance in z direction in [m] according to the reference coordinate system.
+ version {
+ major 5
+ minor 0
}
<** @description:
@@ -51,18 +38,6 @@ typeCollection GnssServiceTypes {
}
<** @description:
- Static configuration data related to the GNSS service.
- **>
- struct TGNSSConfiguration {
- TGNSSDistance3D antennaPosition // GNSS antenna position relative to the vehicle reference point.
- UInt32 supportedSystems // Bit mask indicating the satellite systems which are supported by the GNSS hardware
- // [bitwise or'ed see ref EGNSSSystem values].
- UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
- // [bitwise or'ed see ref EGNSSConfigValidityBits values].
- // Must be checked before usage.
- }
-
- <** @description:
TGNSSPosition::fixTypeBits provides GNSS Fix Type indication.
I.e. it identifies the sources actually used for the GNSS calculation
It is a or'ed bitmask of the EGNSSFixType values.
@@ -186,41 +161,41 @@ typeCollection GnssServiceTypes {
It is a or'ed bitmask of the EGNSSSatelliteDetailValidityBits values.
**>
enumeration EGNSSSatelliteDetailValidityBits {
- GNSS_SATELLITE_SYSTEM_VALID = 0x00000001 // Validity bit for field TGNSSSatelliteDetail::system.
- GNSS_SATELLITE_ID_VALID = 0x00000002 // Validity bit for field TGNSSSatelliteDetail::satelliteId.
- GNSS_SATELLITE_AZIMUTH_VALID = 0x00000004 // Validity bit for field TGNSSSatelliteDetail::azimuth.
- GNSS_SATELLITE_ELEVATION_VALID = 0x00000008 // Validity bit for field TGNSSSatelliteDetail::elevation.
- GNSS_SATELLITE_CNO_VALID = 0x00000010 // Validity bit for field TGNSSSatelliteDetail::CNo.
- GNSS_SATELLITE_USED_VALID = 0x00000020 // Validity bit for field TGNSSSatelliteDetail::statusBits::GNSS_SATELLITE_USED.
- GNSS_SATELLITE_EPHEMERIS_AVAILABLE_VALID = 0x00000040 // Validity bit for field TGNSSSatelliteDetail::statusBits::GNSS_SATELLITE_EPHEMERIS_AVAILABLE.
- GNSS_SATELLITE_RESIDUAL_VALID = 0x00000080 // Validity bit for field TGNSSSatelliteDetail::posResidual.
+ GNSS_SATELLITE_SYSTEM_VALID = 0x00000001 // Validity bit for field TGNSSSatelliteDetail::system.
+ GNSS_SATELLITE_ID_VALID = 0x00000002 // Validity bit for field TGNSSSatelliteDetail::satelliteId.
+ GNSS_SATELLITE_AZIMUTH_VALID = 0x00000004 // Validity bit for field TGNSSSatelliteDetail::azimuth.
+ GNSS_SATELLITE_ELEVATION_VALID = 0x00000008 // Validity bit for field TGNSSSatelliteDetail::elevation.
+ GNSS_SATELLITE_CNO_VALID = 0x00000010 // Validity bit for field TGNSSSatelliteDetail::CNo.
+ GNSS_SATELLITE_USED_VALID = 0x00000020 // Validity bit for field TGNSSSatelliteDetail::statusBits::GNSS_SATELLITE_USED.
+ GNSS_SATELLITE_EPHEMERIS_AVAILABLE_VALID = 0x00000040 // Validity bit for field TGNSSSatelliteDetail::statusBits::GNSS_SATELLITE_EPHEMERIS_AVAILABLE.
+ GNSS_SATELLITE_RESIDUAL_VALID = 0x00000080 // Validity bit for field TGNSSSatelliteDetail::posResidual.
}
<** @description:
Detailed data from one GNSS satellite.
**>
struct TGNSSSatelliteDetail {
- UInt64 timestamp // Timestamp of the acquisition of the satellite detail data [ms].
- // All sensor/GNSS timestamps must be based on the same time source.
- EGNSSSystem system // Value representing the GNSS system.
- UInt16 satelliteId // Satellite ID.
- // Satellite IDs are only unique within one satellite system.
- // Satellites of different systems can be distinguished by see ref TGNSSSatelliteDetail::system.
- // Ranges:
- // 1..32: GPS satellites (by PRN)
- // 33..64: SBAS/WAAS satellites
- // 65..96: GLONASS satellites
- // 1..64: GALILEO satellites, see Galileo OS SIS ICD, http://www.gsc-europa.eu/gnss-markets/segments-applications/os-sis-icd.
+ UInt64 timestamp // Timestamp of the acquisition of the satellite detail data [ms].
+ // All sensor/GNSS timestamps must be based on the same time source.
+ EGNSSSystem system // Value representing the GNSS system.
+ UInt16 satelliteId // Satellite ID.
+ // Satellite IDs are only unique within one satellite system.
+ // Satellites of different systems can be distinguished by see ref TGNSSSatelliteDetail::system.
+ // Ranges:
+ // 1..32: GPS satellites (by PRN)
+ // 33..64: SBAS/WAAS satellites
+ // 65..96: GLONASS satellites
+ // 1..64: GALILEO satellites, see Galileo OS SIS ICD, http://www.gsc-europa.eu/gnss-markets/segments-applications/os-sis-icd.
- UInt16 azimuth // Satellite Azimuth in degrees. Value range 0..359
- UInt16 elevation // Satellite Elevation in degrees. Value range 0..90
- UInt16 CNo // C/No (SNR) in dBHz. Range 0 to 99, 0 when not tracking
- UInt32 statusBits // Bit mask of additional status flags.
- // [bitwise or'ed see ref EGNSSSatelliteFlag values].
- Int16 posResidual // Residual in m of position calculation. Range -999 to +999, 0 if not tracking
- UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
- // [bitwise or'ed see ref EGNSSSatelliteDetailValidityBits values].
- // Must be checked before usage.
+ UInt16 azimuth // Satellite Azimuth in degrees. Value range 0..359
+ UInt16 elevation // Satellite Elevation in degrees. Value range 0..90
+ UInt16 CNo // C/No (SNR) in dBHz. Range 0 to 99, 0 when not tracking
+ UInt32 statusBits // Bit mask of additional status flags.
+ // [bitwise or'ed see ref EGNSSSatelliteFlag values].
+ Int16 posResidual // Residual in m of position calculation. Range -999 to +999, 0 if not tracking
+ UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
+ // [bitwise or'ed see ref EGNSSSatelliteDetailValidityBits values].
+ // Must be checked before usage.
}
<** @description:
@@ -274,69 +249,67 @@ typeCollection GnssServiceTypes {
which is out of the scope of this API.
**>
struct TGNSSPosition {
- UInt64 timestamp // Timestamp of the acquisition of the GNSS data [ms].
- // All sensor/GNSS timestamps must be based on the same time source.
+ UInt64 timestamp // Timestamp of the acquisition of the GNSS data [ms].
+ // All sensor/GNSS timestamps must be based on the same time source.
//position
- Double latitude // Latitude in WGS84 in [degree].
- Double longitude // Longitude in WGS84 in [degree].
- Float altitudeMSL // Altitude above mean sea level (geoid) in [m].
- Float altitudeEll // Altitude above WGS84 ellipsoid in [m].
+ Double latitude // Latitude in WGS84 in [degree].
+ Double longitude // Longitude in WGS84 in [degree].
+ Float altitudeMSL // Altitude above mean sea level (geoid) in [m].
+ Float altitudeEll // Altitude above WGS84 ellipsoid in [m].
//velocity
- Float hSpeed // Horizontal speed [m/s], in direction as given by see ref heading.
- Float vSpeed // Vertical speed [m/s].
- // A positive value indicates an upwards movement, i.e. an ascending altitude.
- Float heading // GNSS course angle [degree] (0 => north, 90 => east, 180 => south, 270 => west, no negative values).
+ Float hSpeed // Horizontal speed [m/s], in direction as given by see ref heading.
+ Float vSpeed // Vertical speed [m/s].
+ // A positive value indicates an upwards movement, i.e. an ascending altitude.
+ Float heading // GNSS course angle [degree] (0 => north, 90 => east, 180 => south, 270 => west, no negative values).
//quality parameters: satellite constellation
- Float pdop // The positional (3D) dilution of precision. [Note: pdop^2 = hdop^2+vdop^2]
- Float hdop // The horizontal (2D) dilution of precision.
- Float vdop // The vertical (altitude) dilution of precision.
- UInt16 usedSatellites // Number of satellites used for the GNSS fix.
- UInt16 trackedSatellites // Number of satellites from which a signal is received.
- UInt16 visibleSatellites // Number of satellites expected to be receivable, i.e. above horizon or elevation mask.
+ Float pdop // The positional (3D) dilution of precision. [Note: pdop^2 = hdop^2+vdop^2]
+ Float hdop // The horizontal (2D) dilution of precision.
+ Float vdop // The vertical (altitude) dilution of precision.
+ UInt16 usedSatellites // Number of satellites used for the GNSS fix.
+ UInt16 trackedSatellites // Number of satellites from which a signal is received.
+ UInt16 visibleSatellites // Number of satellites expected to be receivable, i.e. above horizon or elevation mask.
//quality parameters: error estimates
- Float sigmaHPosition // Standard error estimate of the horizontal position in [m].
- Float sigmaAltitude // Standard error estimate of altitude in [m].
- Float sigmaHSpeed // Standard error estimate of horizontal speed in [m/s].
- Float sigmaVSpeed // Standard error estimate of vertical speed in [m/s].
- Float sigmaHeading // Standard error estimate of horizontal heading/course in [degree].
+ Float sigmaHPosition // Standard error estimate of the horizontal position in [m].
+ Float sigmaAltitude // Standard error estimate of altitude in [m].
+ Float sigmaHSpeed // Standard error estimate of horizontal speed in [m/s].
+ Float sigmaVSpeed // Standard error estimate of vertical speed in [m/s].
+ Float sigmaHeading // Standard error estimate of horizontal heading/course in [degree].
//quality parameters: overall GNSS fix status
- EGNSSFixStatus fixStatus // Value representing the GNSS mode.
- UInt32 fixTypeBits // Bit mask indicating the sources actually used for the GNSS calculation.
- // [bitwise or'ed see ref EGNSSFixType values].
+ EGNSSFixStatus fixStatus // Value representing the GNSS mode.
+ UInt32 fixTypeBits // Bit mask indicating the sources actually used for the GNSS calculation.
+ // [bitwise or'ed see ref EGNSSFixType values].
//gnss system information
- UInt32 activatedSystems // Bit mask indicating the satellite systems that are activated for use
- // [bitwise or'ed see ref EGNSSSystem values].
- UInt32 usedSystems // Bit mask indicating the satellite systems that are actually used for the position fix
- // [bitwise or'ed see ref EGNSSSystem values].
+ UInt32 activatedSystems // Bit mask indicating the satellite systems that are activated for use
+ // [bitwise or'ed see ref EGNSSSystem values].
+ UInt32 usedSystems // Bit mask indicating the satellite systems that are actually used for the position fix
+ // [bitwise or'ed see ref EGNSSSystem values].
//correction data information
- UInt16 correctionAge // Age of used correction data in [s].
- // Note: The kind of used correction data is identified by the corresponding bit in see ref fixTypeBits.
+ UInt16 correctionAge // Age of used correction data in [s].
+ // Note: The kind of used correction data is identified by the corresponding bit in see ref fixTypeBits.
//validity bits
- UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
- // [bitwise or'ed see ref EGNSSPositionValidityBits values].
- // Must be checked before usage.
+ UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
+ // [bitwise or'ed see ref EGNSSPositionValidityBits values].
+ // Must be checked before usage.
}
-//Types and enums defined into 'gnss-status.h'
-
<** @description: Enumeration to describe the status of the GNSS receiver. **>
enumeration EGNSSStatus {
- GNSS_STATUS_NOTAVAILABLE = 0 // GNSS is not available at all, based on configuration data.
- GNSS_STATUS_INITIALIZING = 1 // Initial status when the connection to the GNSS is set up for the first time.
- GNSS_STATUS_AVAILABLE = 2 // GNSS is available and running as expected.
- GNSS_STATUS_RESTARTING = 3 // GNSS is restarted, i.e. due to communication loss.
- GNSS_STATUS_FAILURE = 4 // GNSS is not operating properly. Restarting did not help.
- GNSS_STATUS_OUTOFSERVICE = 5 // GNSS is temporarily not available, due to some known external condition, e.g. firmware update or switch off for antenna supervision.
+ GNSS_STATUS_NOTAVAILABLE = 0 // GNSS is not available at all, based on configuration data.
+ GNSS_STATUS_INITIALIZING = 1 // Initial status when the connection to the GNSS is set up for the first time.
+ GNSS_STATUS_AVAILABLE = 2 // GNSS is available and running as expected.
+ GNSS_STATUS_RESTARTING = 3 // GNSS is restarted, i.e. due to communication loss.
+ GNSS_STATUS_FAILURE = 4 // GNSS is not operating properly. Restarting did not help.
+ GNSS_STATUS_OUTOFSERVICE = 5 // GNSS is temporarily not available, due to some known external condition, e.g. firmware update or switch off for antenna supervision.
}
<** @description: Enumeration to describe the status of the GNSS antenna. **>
enumeration EGNSSAntennaStatus {
- GNSS_ANT_STATUS_NORMAL = 0 // GNSS antenna is working in normal operation.
- GNSS_ANT_STATUS_OVERCURRENT = 1 // GNSS antenna is working but the antenna current is higher than expected.
- GNSS_ANT_STATUS_OPEN = 2 // GNSS antenna is not working because not connected (antenna current too low).
- GNSS_ANT_STATUS_SHORT_GND = 3 // GNSS antenna is not working due to short-circuit to ground.
- GNSS_ANT_STATUS_SHORT_BATT = 4 // GNSS antenna is not working due to short-circuit to battery.
- GNSS_ANT_STATUS_OUTOFSERVICE = 5 // GNSS antenna is temporarily not available, due to some known external condition.
+ GNSS_ANT_STATUS_NORMAL = 0 // GNSS antenna is working in normal operation.
+ GNSS_ANT_STATUS_OVERCURRENT = 1 // GNSS antenna is working but the antenna current is higher than expected.
+ GNSS_ANT_STATUS_OPEN = 2 // GNSS antenna is not working because not connected (antenna current too low).
+ GNSS_ANT_STATUS_SHORT_GND = 3 // GNSS antenna is not working due to short-circuit to ground.
+ GNSS_ANT_STATUS_SHORT_BATT = 4 // GNSS antenna is not working due to short-circuit to battery.
+ GNSS_ANT_STATUS_OUTOFSERVICE = 5 // GNSS antenna is temporarily not available, due to some known external condition.
}
<** @description: TGNSSStatus::validityBits provides information about the currently valid signals of the TGNSSStatus struct.
@@ -348,17 +321,15 @@ typeCollection GnssServiceTypes {
<** @description: Container for GNSS status information **>
struct TGNSSStatus {
- UInt64 timestamp // Timestamp of the GNSS status transition [ms].
- // All sensor/GNSS timestamps must be based on the same time source.
- EGNSSStatus status // Status of the GNSS receiver
- EGNSSAntennaStatus antStatus // Status of the GNSS antenna
- UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
- // [bitwise or'ed EGNSSStatusValidityBits values].
- // Must be checked before usage.
+ UInt64 timestamp // Timestamp of the GNSS status transition [ms].
+ // All sensor/GNSS timestamps must be based on the same time source.
+ EGNSSStatus status // Status of the GNSS receiver
+ EGNSSAntennaStatus antStatus // Status of the GNSS antenna
+ UInt32 validityBits // Bit mask indicating the validity of each corresponding value.
+ // [bitwise or'ed EGNSSStatusValidityBits values].
+ // Must be checked before usage.
}
-//Types and enums defined into 'gnss-meta-data.h'
-
<** @description: The GNSS category introduces the concept that sensor information can also be derived information
computed by combining several signals. **>
enumeration EGnssCategory {
@@ -382,11 +353,11 @@ typeCollection GnssServiceTypes {
GNSS clients need the meta data information in order to correctly handle data provided by GNSS service and
to adapt to the variation in the signal data delivery. **>
struct TGnssMetaData {
- UInt32 versionGnss // Version of the GNSS service. //NB: version is a reserved word in Franca, so wording is fixed to versionGnss
- EGnssCategory category // GNSS Category (Physical/Logical).
- UInt32 typeBits // GNSS Type: combination of bits defined in @ref EGnssTypeBits.
- UInt32 cycleTime // GNSS cycle time (update interval) in ms. 0 for irregular updates
- UInt16 numChannels // Number of GNSS receiver channels for satellite signal reception.
+ UInt32 versionGnss // Version of the GNSS service. //NB: version is a reserved word in Franca, so wording is fixed to versionGnss
+ EGnssCategory category // GNSS Category (Physical/Logical).
+ UInt32 typeBits // GNSS Type: combination of bits defined in EGnssTypeBits.
+ UInt32 cycleTime // GNSS cycle time (update interval) in ms. 0 for irregular updates
+ UInt16 numChannels // Number of GNSS receiver channels for satellite signal reception.
}
}
diff --git a/sensors-service/api/franca/Acceleration.fidl b/sensors-service/api/franca/Acceleration.fidl
index 5155e00..130b278 100644
--- a/sensors-service/api/franca/Acceleration.fidl
+++ b/sensors-service/api/franca/Acceleration.fidl
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: SensorsService
Compliance Level: Abstract Component
- Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
@@ -20,43 +20,6 @@ interface Acceleration {
}
<** @description:
- TAccelerationConfiguration::validityBits provides information about the currently valid signals of the acceleration configuration data.
- It is a or'ed bitmask of the EAccelerationConfigValidityBits values.
- **>
- enumeration EAccelerationConfigValidityBits{
- <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointX.
- **>
- ACCELERATION_CONFIG_DISTX_VALID = 0x00000001
- <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointY.
- **>
- ACCELERATION_CONFIG_DISTY_VALID = 0x00000002
- <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointZ.
- **>
- ACCELERATION_CONFIG_DISTZ_VALID = 0x00000004
- <** @description: Validity bit for field TAccelerationConfiguration::angleYaw.
- **>
- ACCELERATION_CONFIG_ANGLEYAW_VALID = 0x00000008
- <** @description: Validity bit for field TAccelerationConfiguration::anglePitch.
- **>
- ACCELERATION_CONFIG_ANGLEPITCH_VALID= 0x00000010
- <** @description: Validity bit for field TAccelerationConfiguration::angleRoll.
- **>
- ACCELERATION_CONFIG_ANGLEROLL_VALID = 0x00000020
- <** @description: Validity bit for field TAccelerationConfiguration::sigmaX.
- **>
- ACCELERATION_CONFIG_SIGMAX_VALID = 0x00000040
- <** @description: Validity bit for field TAccelerationConfiguration::sigmaX.
- **>
- ACCELERATION_CONFIG_SIGMAY_VALID = 0x00000080
- <** @description: Validity bit for field TAccelerationConfiguration::sigmaZ.
- **>
- ACCELERATION_CONFIG_SIGMAZ_VALID = 0x00000100
- <** @description: Validity bit for field TAccelerationConfiguration::typeBits.
- **>
- ACCELERATION_CONFIG_TYPE_VALID = 0x00000200
- }
-
- <** @description:
Accelerometer type
TAccelerationConfiguration::typeBits provides information about the type of the accelerometer and the interpretation of the signals.
It is a or'ed bitmask of the EAccelerationTypeBits values.
@@ -76,7 +39,6 @@ interface Acceleration {
ACCELERATION_TEMPERATURE_PROVIDED = 0x00000008
}
-
<** @description:
Static configuration data for the acceleration sensor service.
@@ -254,7 +216,7 @@ interface Acceleration {
}
}
- <** @description: getMetaData = get the meta information about sensor service.
+ <** @description: getMetaData = get the meta information about acceleration service.
The meta data of a sensor service provides information about it's name, version, type, subtype, sampling frequency etc.
**>
method getMetaData {
diff --git a/sensors-service/api/franca/AccelerationConfiguration.fidl b/sensors-service/api/franca/AccelerationConfiguration.fidl
new file mode 100644
index 0000000..fb630a9
--- /dev/null
+++ b/sensors-service/api/franca/AccelerationConfiguration.fidl
@@ -0,0 +1,150 @@
+/* SPDX-License-Identifier: MPL-2.0
+ Component Name: SensorsService
+ Compliance Level: Abstract Component
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
+ License:
+ This Source Code Form is subject to the terms of the
+ Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+package org.genivi.SensorsService
+
+import org.genivi.SensorsService.SensorsServiceTypes.* from "SensorsServiceTypes.fidl"
+
+<** @description : AccelerationConfiguration = This interface offers functionalities to retrieve the configuration of the Acceleration interface of the vehicle **>
+interface AccelerationConfiguration {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ TAccelerationConfiguration::validityBits provides information about the currently valid signals of the acceleration configuration data.
+ It is a or'ed bitmask of the EAccelerationConfigValidityBits values.
+ **>
+ enumeration EAccelerationConfigValidityBits{
+ <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointX.
+ **>
+ ACCELERATION_CONFIG_DISTX_VALID = 0x00000001
+ <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointY.
+ **>
+ ACCELERATION_CONFIG_DISTY_VALID = 0x00000002
+ <** @description: Validity bit for field TAccelerationConfiguration::dist2RefPointZ.
+ **>
+ ACCELERATION_CONFIG_DISTZ_VALID = 0x00000004
+ <** @description: Validity bit for field TAccelerationConfiguration::angleYaw.
+ **>
+ ACCELERATION_CONFIG_ANGLEYAW_VALID = 0x00000008
+ <** @description: Validity bit for field TAccelerationConfiguration::anglePitch.
+ **>
+ ACCELERATION_CONFIG_ANGLEPITCH_VALID= 0x00000010
+ <** @description: Validity bit for field TAccelerationConfiguration::angleRoll.
+ **>
+ ACCELERATION_CONFIG_ANGLEROLL_VALID = 0x00000020
+ <** @description: Validity bit for field TAccelerationConfiguration::sigmaX.
+ **>
+ ACCELERATION_CONFIG_SIGMAX_VALID = 0x00000040
+ <** @description: Validity bit for field TAccelerationConfiguration::sigmaX.
+ **>
+ ACCELERATION_CONFIG_SIGMAY_VALID = 0x00000080
+ <** @description: Validity bit for field TAccelerationConfiguration::sigmaZ.
+ **>
+ ACCELERATION_CONFIG_SIGMAZ_VALID = 0x00000100
+ <** @description: Validity bit for field TAccelerationConfiguration::typeBits.
+ **>
+ ACCELERATION_CONFIG_TYPE_VALID = 0x00000200
+ }
+
+ <** @description:
+ Static configuration data for the acceleration sensor service.
+
+ BEGIN Explanation of the angleYaw, anglePitch angleRoll parameters
+ The orientation of the accelerometer hardware (Xa, Ya, Za)
+ with respect to the vehicle axis system (Xv, Yv, Zv)
+ can be described using the angles (angleYaw, anglePitch, angleRoll)
+ following the approach defined in ISO 8855:2011, section 5.2, table 1
+ Apply 3 rotations on the vehicle axis system until it matches the accelerometer axis system
+ The rotation sequence is as follows
+ - first rotate by angleYaw about the Zv axis
+ - second rotate by anglePitch about the new (intermediate) Y axis
+ - third rotate by angleRoll about the new X axis
+
+ Notes
+ - the angles are frequently called "Euler angles" and the rotations "Euler rotations"
+ - a different order of the rotations would lead to a different orientation
+ - as the vehicle axis system is right-handed, also the accelerometer axis system must be right-handed
+
+ The vehicle axis system as defined in ISO 8855:2011(E).
+ In this system, the axes (Xv, Yv, Zv) are oriented as follows
+ - Xv is in the horizontal plane, pointing forwards
+ - Yv is in the horizontal plane, pointing to the left
+ - Zv is perpendicular to the horizontal plane, pointing upwards
+ For an illustration, see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
+
+ When the accelerometer axes are not aligned with the vehicle axes, i.e.
+ if any of the angles (angleYaw, anglePitch, angleRoll) is not zero
+ then the raw measurement values of the accelerometer X, Y, Z axes may have to be be transformed
+ to the vehicle axis system by the client of this interface, depending on the type of application.
+ Raw measurements are provided in TAccelerationData instead of already transformed values, because
+ - for accelerometers with less than 3 axes, the transformation is mathematically not well-defined
+ - some types of calibration operations are better performed on raw data
+
+ Implementors hint: The mathematics of this kind of transformation,
+ like the derivation of the rotation matrixes is described in literature on strapdown navigation
+ E.g. "Strapdown Inertial Navigation Technology", 2nd Edition by David Titterton and John Weston, section 3.6
+ END Explanation of the angleYaw, anglePitch angleRoll parameters
+ **>
+ struct TAccelerationConfiguration{
+ <** @description: Distance of acceleration sensor from vehicle reference point (x-coordinate) [m].
+ **>
+ Float dist2RefPointX
+ <** @description: Distance of acceleration sensor from vehicle reference point (y-coordinate) [m].
+ **>
+ Float dist2RefPointY
+ <** @description: Distance of acceleration sensor from vehicle reference point (z-coordinate) [m].
+ **>
+ Float dist2RefPointZ
+ <** @description: Euler angle of first rotation, around yaw axis, to describe acceleration sensor orientation [degree].
+ For details, see above.
+ **>
+ Float angleYaw
+ <** @description: Euler angle of second rotation, around pitch axis, to describe acceleration sensor orientation [degree].
+ For details, see above.
+ **>
+ Float anglePitch
+ <** @description: Euler angle of third rotation, around roll axis, to describe acceleration sensor orientation [degree].
+ For details, see above.
+ **>
+ Float angleRoll
+ <** @description: Standard error estimate of the x-acceleration [m/s^2].
+ **>
+ Float sigmaX
+ <** @description: Standard error estimate of the y-acceleration [m/s^2].
+ **>
+ Float sigmaY
+ <** @description: Standard error estimate of the z-acceleration [m/s^2].
+ **>
+ Float sigmaZ
+ <** @description: Bit mask indicating the type of the used accelerometer.
+ [bitwise or'ed EAccelerationTypeBits values].
+ **>
+ UInt32 typeBits
+ <** @description: Bit mask indicating the validity of each corresponding value.
+ [bitwise or'ed EAccelerationConfigValidityBits values].
+ Must be checked before usage.
+ **>
+ UInt32 validityBits
+ }
+
+ <** @description: getAccelerationConfiguration = get the static configuration information about the acceleration sensor.
+ **>
+ method getAccelerationConfiguration {
+ out {
+ TAccelerationConfiguration config
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+
+}
diff --git a/sensors-service/api/franca/Gyroscope.fidl b/sensors-service/api/franca/Gyroscope.fidl
index 1eafa25..3d7d461 100644
--- a/sensors-service/api/franca/Gyroscope.fidl
+++ b/sensors-service/api/franca/Gyroscope.fidl
@@ -1,11 +1,11 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: SensorsService
Compliance Level: Abstract Component
- Copyright (C) 2012 BMW Car IT GmbH Continental Automotive GmbH PCA Peugeot Citroën XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
- Mozilla Public License v. 2.0. If a copy of the MPL was not distributed with
- this file You can obtain one at http://mozilla.org/MPL/2.0/.
+ Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ this file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.genivi.SensorsService
@@ -20,125 +20,6 @@ interface Gyroscope {
}
<** @description:
- TGyroscopeConfiguration::validityBits provides information about the
- currently valid signals of the gyroscope configuration data.
- It is a or'ed bitmask of the EGyroscopeConfigValidityBits values.
- **>
- enumeration EGyroscopeConfigValidityBits{
- <** @description: Validity bit for field TGyroscopeConfiguration::angleYaw.
- **>
- GYROSCOPE_CONFIG_ANGLEYAW_VALID = 0x00000001
- <** @description: Validity bit for field TGyroscopeConfiguration::anglePitch.
- **>
- GYROSCOPE_CONFIG_ANGLEPITCH_VALID = 0x00000002
- <** @description: Validity bit for field TGyroscopeConfiguration::angleRoll.
- **>
- GYROSCOPE_CONFIG_ANGLEROLL_VALID = 0x00000004
- <** @description: Validity bit for field TGyroscopeConfiguration::momentOfYawInertia.
- **>
- GYROSCOPE_CONFIG_MOMENTYAW_VALID = 0x00000008
- <** @description: Validity bit for field TGyroscopeConfiguration::sigmaGyroscope.
- **>
- GYROSCOPE_CONFIG_SIGMAGYROSCOPE_VALID = 0x00000010
- <** @description: Validity bit for field TGyroscopeConfiguration::typeBits.
- **>
- GYROSCOPE_CONFIG_TYPE_VALID = 0x00000020
- }
-
- <** @description:
- Gyroscope type
- TGyroscopeConfiguration::typeBits provides information about the
- type of the gyroscope and the interpretation of the signals.
- It is a or'ed bitmask of the EGyroscopeTypeBits values.
- **>
- enumeration EGyroscopeTypeBits {
- <** @description: Temperature bias compensation already applied to gyroscope signals.
- **>
- GYROSCOPE_TEMPERATURE_COMPENSATED = 0x00000001
- <** @description: A measurement for the z/yaw-axis is provided.
- **>
- GYROSCOPE_YAWRATE_PROVIDED = 0x00000002
- <** @description: A measurement for the y/pitch-axis is provided.
- **>
- GYROSCOPE_PITCHRATE_PROVIDED = 0x00000004
- <** @description: A measurement for the x/roll-axis is provided.
- **>
- GYROSCOPE_ROLLRATE_PROVIDED = 0x00000008
- <** @description: A measurement for the temperature is provided.
- **>
- GYROSCOPE_TEMPERATURE_PROVIDED = 0x00000010
- }
-
- <** @description:
- Static configuration data for the gyroscope sensor service.
- BEGIN Explanation of the angleYaw anglePitch angleRoll parameters
- The orientation of the gyroscope hardware (Xg Yg Zg)
- with respect to the vehicle axis system (Xv Yv Zv)
- can be described using the angles (angleYaw anglePitch angleRoll)
- following the approach defined in ISO 8855:2011 section 5.2 table 1
- Apply 3 rotations on the vehicle axis system until it matches the gyroscope axis system
- The rotation sequence is as follows
- - first rotate by angleYaw about the Zv axis
- - second rotate by anglePitch about the new (intermediate) Y axis
- - third rotate by angleRoll about the new X axis
- Notes
- - the angles are frequently called "Euler angles" and the rotations "Euler rotations"
- - a different order of the rotations would lead to a different orientation
- - as the vehicle axis system is right-handed also the gyroscope axis system must be right-handed
- The vehicle axis system as defined in ISO 8855:2011(E).
- In this system the axes (Xv Yv Zv) are oriented as follows
- - Xv is in the horizontal plane pointing forwards
- - Yv is in the horizontal plane pointing to the left
- - Zv is perpendicular to the horizontal plane pointing upwards
- For an illustration see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
- When the gyroscope axes are not aligned with the vehicle axes i.e.
- if any of the angles (angleYaw anglePitch angleRoll) is not zero
- then the raw measurement values of the gyroscope Z Y X axes may have to be be transformed
- to the vehicle axis system by the client of this interface depending on the type of application.
- Raw measurements are provided in TGyroscopeData instead of already transformed values because
- - for gyroscopes with less than 3 axes the transformation is mathematically not well-defined
- - some types of calibration operations are better performed on raw data
- Implementors hint: The mathematics of this kind of transformation
- like the derivation of the rotation matrixes is described in literature on strapdown navigation
- E.g. "Strapdown Inertial Navigation Technology" 2nd Edition by David Titterton and John Weston section 3.6
- END Explanation of the angleYaw anglePitch angleRoll parameters
- **>
- struct TGyroscopeConfiguration {
- <** @description: Euler angle of first rotation around yaw axis
- to describe gyroscope orientation [degree].
- For details see above.
- **>
- Float angleYaw
- <** @description: Euler angle of second rotation around pitch axis
- to describe gyroscope orientation [degree].
- For details see above.
- **>
- Float anglePitch
- <** @description: Euler angle of third rotation around roll axis
- to describe gyroscope orientation [degree].
- For details see above.
- **>
- Float angleRoll
- <** @description: Moment of yaw inertia [kg x m^2].
- The pitch and roll inertia moments are not provided
- as they are not relevant for positioning.
- **>
- Float momentOfYawInertia
- <** @description: Standard error estimate of the gyroscope for all directions [degree/s].
- **>
- Float sigmaGyroscope
- <** @description: Bit mask indicating the type of the used gyroscope.
- [bitwise or'ed EGyroscopeTypeBits values].
- **>
- UInt32 typeBits
- <** @description: Bit mask indicating the validity of each corresponding value.
- [bitwise or'ed EGyroscopeConfigValidityBits values].
- Must be checked before usage.
- **>
- UInt32 validityBits
- }
-
- <** @description:
TGyroscopeData::validityBits provides information which fields in
TGyroscopeData contain valid measurement data.
It is a or'ed bitmask of the EGyroscopeValidityBits values.
@@ -282,7 +163,7 @@ interface Gyroscope {
}
}
- <** @description: getMetaData = get the meta information about sensor service.
+ <** @description: getMetaData = get the meta information about gyroscope service.
The meta data of a sensor service provides information about it's name, version, type, subtype, sampling frequency etc.
**>
method getMetaData {
@@ -293,16 +174,6 @@ interface Gyroscope {
}
}
- <** @description: getGyroscopeConfiguration = get the static configuration information about the gyroscope sensor.
- **>
- method getGyroscopeConfiguration {
- out {
- TGyroscopeConfiguration config
- <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
- Boolean available
- }
- }
-
<** @description: getStatus = get the gyroscope status at a specific point in time. **>
method getStatus {
out {
diff --git a/sensors-service/api/franca/GyroscopeConfiguration.fidl b/sensors-service/api/franca/GyroscopeConfiguration.fidl
new file mode 100644
index 0000000..6bb7eb7
--- /dev/null
+++ b/sensors-service/api/franca/GyroscopeConfiguration.fidl
@@ -0,0 +1,151 @@
+/* SPDX-License-Identifier: MPL-2.0
+ Component Name: SensorsService
+ Compliance Level: Abstract Component
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
+ License:
+ This Source Code Form is subject to the terms of the
+ Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+package org.genivi.SensorsService
+
+import org.genivi.SensorsService.SensorsServiceTypes.* from "SensorsServiceTypes.fidl"
+
+<** @description : GyroscopeConfiguration = This interface offers functionalities to retrieve the configuration of the Gyroscope interface of the vehicle **>
+interface GyroscopeConfiguration {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ TGyroscopeConfiguration::validityBits provides information about the
+ currently valid signals of the gyroscope configuration data.
+ It is a or'ed bitmask of the EGyroscopeConfigValidityBits values.
+ **>
+ enumeration EGyroscopeConfigValidityBits{
+ <** @description: Validity bit for field TGyroscopeConfiguration::angleYaw.
+ **>
+ GYROSCOPE_CONFIG_ANGLEYAW_VALID = 0x00000001
+ <** @description: Validity bit for field TGyroscopeConfiguration::anglePitch.
+ **>
+ GYROSCOPE_CONFIG_ANGLEPITCH_VALID = 0x00000002
+ <** @description: Validity bit for field TGyroscopeConfiguration::angleRoll.
+ **>
+ GYROSCOPE_CONFIG_ANGLEROLL_VALID = 0x00000004
+ <** @description: Validity bit for field TGyroscopeConfiguration::momentOfYawInertia.
+ **>
+ GYROSCOPE_CONFIG_MOMENTYAW_VALID = 0x00000008
+ <** @description: Validity bit for field TGyroscopeConfiguration::sigmaGyroscope.
+ **>
+ GYROSCOPE_CONFIG_SIGMAGYROSCOPE_VALID = 0x00000010
+ <** @description: Validity bit for field TGyroscopeConfiguration::typeBits.
+ **>
+ GYROSCOPE_CONFIG_TYPE_VALID = 0x00000020
+ }
+
+ <** @description:
+ Gyroscope type
+ TGyroscopeConfiguration::typeBits provides information about the
+ type of the gyroscope and the interpretation of the signals.
+ It is a or'ed bitmask of the EGyroscopeTypeBits values.
+ **>
+ enumeration EGyroscopeTypeBits {
+ <** @description: Temperature bias compensation already applied to gyroscope signals.
+ **>
+ GYROSCOPE_TEMPERATURE_COMPENSATED = 0x00000001
+ <** @description: A measurement for the z/yaw-axis is provided.
+ **>
+ GYROSCOPE_YAWRATE_PROVIDED = 0x00000002
+ <** @description: A measurement for the y/pitch-axis is provided.
+ **>
+ GYROSCOPE_PITCHRATE_PROVIDED = 0x00000004
+ <** @description: A measurement for the x/roll-axis is provided.
+ **>
+ GYROSCOPE_ROLLRATE_PROVIDED = 0x00000008
+ <** @description: A measurement for the temperature is provided.
+ **>
+ GYROSCOPE_TEMPERATURE_PROVIDED = 0x00000010
+ }
+
+ <** @description:
+ Static configuration data for the gyroscope sensor service.
+ BEGIN Explanation of the angleYaw anglePitch angleRoll parameters
+ The orientation of the gyroscope hardware (Xg Yg Zg)
+ with respect to the vehicle axis system (Xv Yv Zv)
+ can be described using the angles (angleYaw anglePitch angleRoll)
+ following the approach defined in ISO 8855:2011 section 5.2 table 1
+ Apply 3 rotations on the vehicle axis system until it matches the gyroscope axis system
+ The rotation sequence is as follows
+ - first rotate by angleYaw about the Zv axis
+ - second rotate by anglePitch about the new (intermediate) Y axis
+ - third rotate by angleRoll about the new X axis
+ Notes
+ - the angles are frequently called "Euler angles" and the rotations "Euler rotations"
+ - a different order of the rotations would lead to a different orientation
+ - as the vehicle axis system is right-handed also the gyroscope axis system must be right-handed
+ The vehicle axis system as defined in ISO 8855:2011(E).
+ In this system the axes (Xv Yv Zv) are oriented as follows
+ - Xv is in the horizontal plane pointing forwards
+ - Yv is in the horizontal plane pointing to the left
+ - Zv is perpendicular to the horizontal plane pointing upwards
+ For an illustration see https://collab.genivi.org/wiki/display/genivi/LBSSensorServiceRequirementsBorg#LBSSensorServiceRequirementsBorg-ReferenceSystem
+ When the gyroscope axes are not aligned with the vehicle axes i.e.
+ if any of the angles (angleYaw anglePitch angleRoll) is not zero
+ then the raw measurement values of the gyroscope Z Y X axes may have to be be transformed
+ to the vehicle axis system by the client of this interface depending on the type of application.
+ Raw measurements are provided in TGyroscopeData instead of already transformed values because
+ - for gyroscopes with less than 3 axes the transformation is mathematically not well-defined
+ - some types of calibration operations are better performed on raw data
+ Implementors hint: The mathematics of this kind of transformation
+ like the derivation of the rotation matrixes is described in literature on strapdown navigation
+ E.g. "Strapdown Inertial Navigation Technology" 2nd Edition by David Titterton and John Weston section 3.6
+ END Explanation of the angleYaw anglePitch angleRoll parameters
+ **>
+ struct TGyroscopeConfiguration {
+ <** @description: Euler angle of first rotation around yaw axis
+ to describe gyroscope orientation [degree].
+ For details see above.
+ **>
+ Float angleYaw
+ <** @description: Euler angle of second rotation around pitch axis
+ to describe gyroscope orientation [degree].
+ For details see above.
+ **>
+ Float anglePitch
+ <** @description: Euler angle of third rotation around roll axis
+ to describe gyroscope orientation [degree].
+ For details see above.
+ **>
+ Float angleRoll
+ <** @description: Moment of yaw inertia [kg x m^2].
+ The pitch and roll inertia moments are not provided
+ as they are not relevant for positioning.
+ **>
+ Float momentOfYawInertia
+ <** @description: Standard error estimate of the gyroscope for all directions [degree/s].
+ **>
+ Float sigmaGyroscope
+ <** @description: Bit mask indicating the type of the used gyroscope.
+ [bitwise or'ed EGyroscopeTypeBits values].
+ **>
+ UInt32 typeBits
+ <** @description: Bit mask indicating the validity of each corresponding value.
+ [bitwise or'ed EGyroscopeConfigValidityBits values].
+ Must be checked before usage.
+ **>
+ UInt32 validityBits
+ }
+
+ <** @description: getGyroscopeConfiguration = get the static configuration information about the gyroscope sensor.
+ **>
+ method getGyroscopeConfiguration {
+ out {
+ TGyroscopeConfiguration config
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+
+}
diff --git a/sensors-service/api/franca/MetaData.fidl b/sensors-service/api/franca/MetaData.fidl
index 7f641c8..9821b33 100644
--- a/sensors-service/api/franca/MetaData.fidl
+++ b/sensors-service/api/franca/MetaData.fidl
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: SensorsService
Compliance Level: Abstract Component
- Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
diff --git a/sensors-service/api/franca/SensorsServiceTypes.fidl b/sensors-service/api/franca/SensorsServiceTypes.fidl
index 07ab29d..c76e7e2 100644
--- a/sensors-service/api/franca/SensorsServiceTypes.fidl
+++ b/sensors-service/api/franca/SensorsServiceTypes.fidl
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: SensorsService
Compliance Level: Abstract Component
- Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
+ Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
This Source Code Form is subject to the terms of the
Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
@@ -11,8 +11,11 @@
package org.genivi.SensorsService
typeCollection SensorsServiceTypes {
+ version {
+ major 5
+ minor 0
+ }
-//Data types and enums defined into 'sns-meta-data.h'
<** @description:
The sensor category introduces the concept that sensor information can also be derived information
computed by combining several signals.
@@ -23,7 +26,6 @@ typeCollection SensorsServiceTypes {
SENSOR_CATEGORY_PHYSICAL // A physical sensor provides signals from physically available sensors.
}
-
<** @description:
The sensor type identifies which physical quantity is measured.
For each sensor type there is a corresponding API header with data structures callback notifications and getter functions defined
@@ -57,8 +59,6 @@ typeCollection SensorsServiceTypes {
UInt32 cycleTime // Sensor cycle time (update interval) in ms. 0 for irregular updates
}
- //Data types and enums defined into 'sns-status.h'
-
<** @description:
Enumeration to describe the status of the sensor
**>