summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2018-02-27 17:13:58 +0100
committerasanoaozora <fifitaneki@hotmail.com>2018-02-27 17:13:58 +0100
commitc1bde5ea8b7bc8ce54e79258377c2d9150a06b65 (patch)
tree7df3198967d27ab4bba2c94812237f0f2a1f72e9
parent5f0c398d339c6b32e01398bf13eb1c2f08abcffa (diff)
downloadpositioning-c1bde5ea8b7bc8ce54e79258377c2d9150a06b65.tar.gz
Positioning to Franca: Fix minor errors and add new fidl files
-rw-r--r--gnss-service/api/franca/GnssServiceTypes.fidl2
-rw-r--r--sensors-service/api/franca/Acceleration.fidl94
-rw-r--r--sensors-service/api/franca/Odometer.fidl133
-rw-r--r--sensors-service/api/franca/ReverseGear.fidl127
-rw-r--r--sensors-service/api/franca/VehicleSpeed.fidl139
5 files changed, 403 insertions, 92 deletions
diff --git a/gnss-service/api/franca/GnssServiceTypes.fidl b/gnss-service/api/franca/GnssServiceTypes.fidl
index 133a17d..00b8c89 100644
--- a/gnss-service/api/franca/GnssServiceTypes.fidl
+++ b/gnss-service/api/franca/GnssServiceTypes.fidl
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: MPL-2.0
- Component Name: EnhancedPositionService
+ Component Name: GnssService
Compliance Level: Abstract Component
Copyright (C) 2018, BMW Car IT GmbH, Continental Automotive GmbH, Groupe PSA, XS Embedded GmbH
License:
diff --git a/sensors-service/api/franca/Acceleration.fidl b/sensors-service/api/franca/Acceleration.fidl
index f274792..287a536 100644
--- a/sensors-service/api/franca/Acceleration.fidl
+++ b/sensors-service/api/franca/Acceleration.fidl
@@ -40,87 +40,6 @@ interface Acceleration {
}
<** @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:
TAccelerationData::validityBits provides information about the currently valid signals of the acceleration data.
It is a or'ed bitmask of the EAccelerationValidityBits values.
Note:
@@ -227,16 +146,6 @@ interface Acceleration {
}
}
- <** @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
- }
- }
-
<** @description: getAccelerationData = get the acceleration data at a specific point in time.
All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
**>
@@ -247,6 +156,7 @@ interface Acceleration {
Boolean available
}
}
+
<** @description: getAccelerationDataList = get a list of acceleration data.
may return buffered data (numElements >1) for different reasons
for (large) portions of data buffered at startup
@@ -261,6 +171,7 @@ interface Acceleration {
UInt16 numElements
}
}
+
<** @description: notifyAccelerationDataChanged
The signal will be emitted when new acceleration data is available.
All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
@@ -276,6 +187,7 @@ interface Acceleration {
Boolean available
}
}
+
<** @description: notifyStatusChanged
The signal will be emitted when new acceleration sensor status data is available.
**>
diff --git a/sensors-service/api/franca/Odometer.fidl b/sensors-service/api/franca/Odometer.fidl
new file mode 100644
index 0000000..848438d
--- /dev/null
+++ b/sensors-service/api/franca/Odometer.fidl
@@ -0,0 +1,133 @@
+/* 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 : Odometer = This interface offers functionalities to retrieve the travelled distance of the vehicle **>
+interface Odometer {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ TOdometerData::validityBits provides information about the currently valid signals of the odometer data.
+ It is a or'ed bitmask of the EOdometerValidityBits values.
+ **>
+ enumeration EOdometerValidityBits {
+ ODOMETER_TRAVELLEDDISTANCE_VALID = 1 //0x00000001 Validity bit for field TOdometerData::travelledDistance.
+ }
+
+ <** @description:
+ Odometer sensor service provides the travelled distance.
+ **>
+ struct TOdometerData {
+ <** @description: Timestamp of the acquisition of the odometer signal [ms].
+ All sensor/GNSS timestamps must be based on the same time source. **>
+ UInt64 timestamp
+ <** @description: Distance in [cm] with at least 5Hz. Implemented as a running counter
+ with overflow to support multiple clients and getter methods.
+ As the representation of this value is done using 16 Bits the value can provide
+ distances up 32767cm or 327.67m before overflowing. **>
+ UInt16 travelledDistance
+ <** @description: Bit mask indicating the validity of each corresponding value.
+ bitwise or'ed ref EOdometerValidityBits values].
+ Must be checked before usage. **>
+ UInt32 validityBits
+ }
+
+ <** @description:
+ Initialization of the odometer sensor service.
+ Must be called before using the odometer sensor service to set up the service.
+ **>
+ method init {
+ out {
+ <** @description: initialized = Is true if initialization has been successfull **>
+ Boolean initialized
+ }
+ }
+
+ <** @description:
+ Destroy the odometer sensor service.
+ Must be called after using the odometer sensor service to shut down the service.
+ **>
+ method destroy {
+ out {
+ <** @description: destroyed = Is true if shutdown has been successfull. **>
+ Boolean destroyed
+ }
+ }
+
+ <** @description: getMetaData = get the meta information about odometer service.
+ The meta data of a sensor service provides information about it's name, version, type, subtype, sampling frequency etc.
+ **>
+ method getMetaData {
+ out {
+ TSensorMetaData data
+ <** @description: available = Is true if meta data is available **>
+ Boolean available
+ }
+ }
+
+ <** @description: getOdometerData = get the odometer data at a specific point in time.
+ Be careful when using this method to read data often enough to avoid missing an overflow.
+ With reasonable car speeds it should be enough to read the data every 3s.
+ The recommended usage for the odometer data is the callback interface.
+ The get method is provided for consistency reasons of the sensor service API and might be used
+ for determining the distance between a few points in time.
+ All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
+ **>
+ method getOdometerData {
+ out {
+ TOdometerData odometerData
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+
+ <** @description: getOdometerDataList = get a list of odometer data.
+ may return buffered data (numElements >1) for different reasons
+ for (large) portions of data buffered at startup
+ for data buffered during regular operation e.g. for performance optimization (reduction of callback invocation frequency)
+ If the array contains (numElements >1), the elements will be ordered with rising timestamps
+ odometerData pointer to an array of TOdometerData with size numElements
+ **>
+ method getOdometerDataList {
+ out {
+ TOdometerData[] odometerData
+ <** @description: numElements = allowed range: >=1. If numElements >1, buffered data are provided.**>
+ UInt16 numElements
+ }
+ }
+
+ <** @description: notifyOdometerDataChanged
+ The signal will be emitted when new odometer data is available.
+ All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
+ **>
+ broadcast notifyOdometerDataChanged selective {
+ }
+
+ <** @description: getStatus = get the odometer sensor status at a specific point in time. **>
+ method getStatus {
+ out {
+ TSensorStatus status
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+ <** @description: notifyStatusChanged
+ The signal will be emitted when new odometer sensor status data is available.
+ **>
+ broadcast notifyStatusChanged selective {
+ }
+
+}
diff --git a/sensors-service/api/franca/ReverseGear.fidl b/sensors-service/api/franca/ReverseGear.fidl
new file mode 100644
index 0000000..cd63012
--- /dev/null
+++ b/sensors-service/api/franca/ReverseGear.fidl
@@ -0,0 +1,127 @@
+/* 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 : ReverseGear = This interface offers functionalities to retrieve the current status of the reverse gear of the vehicle. **>
+interface ReverseGear {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ TReverseGearData::validityBits provides information about the currently valid signals of the reverse gear data.
+ It is a or'ed bitmask of the EReverseGearValidityBits values.
+ **>
+ enumeration EReverseGearValidityBits {
+ REVERSEGEAR_REVERSEGEAR_VALID = 1 //0x00000001 Validity bit for field TReverseGearData::isReverseGear.
+ }
+
+ <** @description:
+ Reverse gear sensor service provides the current status of the reverse gear of the vehicle.
+ This information is explicitly restricted to provide only the information if the reverse gear is engaged.
+ The direction of movement is provided by the direction of the vehicle speed.
+ **>
+ struct TReverseGearData{
+ <** @description: Timestamp of the acquisition of the reverse gear signal [ms].
+ All sensor/GNSS timestamps must be based on the same time source.
+ **>
+ UInt64 timestamp
+ <** @description:True if the reverse gear is currently used. False otherwise. **>
+ Boolean isReverseGear
+ <** @description: Bit mask indicating the validity of each corresponding value.
+ [bitwise or'ed EReverseGearValidityBits values].
+ Must be checked before usage.
+ **>
+ UInt32 validityBits
+ }
+
+ <** @description:
+ Initialization of the reverse gear sensor service.
+ Must be called before using the reverse gear sensor service to set up the service.
+ **>
+ method init {
+ out {
+ <** @description: initialized = Is true if initialization has been successfull **>
+ Boolean initialized
+ }
+ }
+
+ <** @description:
+ Destroy the reverse gear sensor service.
+ Must be called after using the reverse gear sensor service to shut down the service.
+ **>
+ method destroy {
+ out {
+ <** @description: destroyed = Is true if shutdown has been successfull. **>
+ Boolean destroyed
+ }
+ }
+
+ <** @description: getMetaData = get the meta information about reverse gear service.
+ The meta data of a sensor service provides information about it's name, version, type, subtype, sampling frequency etc.
+ **>
+ method getMetaData {
+ out {
+ TSensorMetaData data
+ <** @description: available = Is true if meta data is available **>
+ Boolean available
+ }
+ }
+
+ <** @description: getReverseGearData = get the reverse gear data at a specific point in time.
+ All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
+ **>
+ method getReverseGearData {
+ out {
+ TReverseGearData reverseGearData
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+ <** @description: getReverseGearDataList = get a list of reverse gear data.
+ may return buffered data (numElements >1) for different reasons
+ for (large) portions of data buffered at startup
+ for data buffered during regular operation e.g. for performance optimization (reduction of callback invocation frequency)
+ If the array contains (numElements >1), the elements will be ordered with rising timestamps
+ reverseGearData pointer to an array of TReverseGearData with size numElements
+ **>
+ method getReverseGearDataList {
+ out {
+ TReverseGearData[] reverseGearData
+ <** @description: numElements = allowed range: >=1. If numElements >1, buffered data are provided.**>
+ UInt16 numElements
+ }
+ }
+ <** @description: notifyReverseGearDataChanged
+ The signal will be emitted when new reverse gear data is available.
+ All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
+ **>
+ broadcast notifyReverseGearDataChanged selective {
+ }
+
+ <** @description: getStatus = get the reverse gear sensor status at a specific point in time. **>
+ method getStatus {
+ out {
+ TSensorStatus status
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+ <** @description: notifyStatusChanged
+ The signal will be emitted when new reverse gear sensor status data is available.
+ **>
+ broadcast notifyStatusChanged selective {
+ }
+
+}
diff --git a/sensors-service/api/franca/VehicleSpeed.fidl b/sensors-service/api/franca/VehicleSpeed.fidl
new file mode 100644
index 0000000..122d4cb
--- /dev/null
+++ b/sensors-service/api/franca/VehicleSpeed.fidl
@@ -0,0 +1,139 @@
+/* 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 : VehicleSpeed = This interface offers functionalities to retrieve current speed of the vehicle **>
+interface VehicleSpeed {
+ version {
+ major 5
+ minor 0
+ }
+
+ <** @description:
+ TVehicleSpeedData::validityBits provides information about the currently valid signals of the odometer data.
+ It is a or'ed bitmask of the EVehicleSpeedValidityBits values.
+ **>
+ enumeration EVehicleSpeedValidityBits {
+ VEHICLESPEED_VEHICLESPEED_VALID = 1 //0x00000001 Validity bit for field TVehicleSpeedData::vehicleSpeed.
+ VEHICLESPEED__MEASINT_VALID = 2 //0x00000002 Validity bit for field TVehicleSpeedData::measurementInterval.
+ }
+
+ <** @description:
+ Vehicle speed sensor service provides the current speed of the vehicle.
+ **>
+ struct TVehicleSpeedData {
+ <** @description: Timestamp of the acquisition of the vehicle speed signal [ms].
+ All sensor/GNSS timestamps must be based on the same time source.
+ **>
+ UInt64 timestamp
+ <** @description: Filtered vehicle speed in [m/s] with a frequency of at least 5Hz.
+ Direction is given by the sign of this value.
+ **>
+ Float vehicleSpeed
+ <** @description: Measurement interval over which the vehicle speed signal has been acquired.
+ Unit: micro-seconds [us].
+ This may slightly differ from the timestamp difference,
+ e.g. in case of transmission jitter before timestamping.
+ Providing the measurement interval allows thus
+ - a more accurate integration of vehicle speed measurements.
+ - correct usage of the first sample
+ - adding consistency checks
+ **>
+ UInt32 measurementInterval
+ <** @description: Bit mask indicating the validity of each corresponding value.
+ bitwise or'ed ref EVehicleSpeedValidityBits values].
+ Must be checked before usage. **>
+ UInt32 validityBits
+ }
+
+ <** @description:
+ Initialization of the vehicle speed sensor service.
+ Must be called before using the vehicle speed sensor service to set up the service.
+ **>
+ method init {
+ out {
+ <** @description: initialized = Is true if initialization has been successfull **>
+ Boolean initialized
+ }
+ }
+
+ <** @description:
+ Destroy the vehicle speed sensor service.
+ Must be called after using the vehicle speed sensor service to shut down the service.
+ **>
+ method destroy {
+ out {
+ <** @description: destroyed = Is true if shutdown has been successfull. **>
+ Boolean destroyed
+ }
+ }
+
+ <** @description: getMetaData = get the meta information about vehicle speed sensor service.
+ The meta data of a sensor service provides information about it's name, version, type, subtype, sampling frequency etc.
+ **>
+ method getMetaData {
+ out {
+ TSensorMetaData data
+ <** @description: available = Is true if meta data is available **>
+ Boolean available
+ }
+ }
+
+ <** @description: getVehicleSpeedData = get the vehicle speed data at a specific point in time.
+ **>
+ method getVehicleSpeedData {
+ out {
+ TVehicleSpeedData vehicleSpeedData
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+
+ <** @description: getVehicleSpeedDataList = get a list of vehicle speed sensor data.
+ may return buffered data (numElements >1) for different reasons
+ for (large) portions of data buffered at startup
+ for data buffered during regular operation e.g. for performance optimization (reduction of callback invocation frequency)
+ If the array contains (numElements >1), the elements will be ordered with rising timestamps
+ vehicleSpeedData pointer to an array of TVehicleSpeedData with size numElements
+ **>
+ method getVehicleSpeedDataList {
+ out {
+ TVehicleSpeedData[] vehicleSpeedData
+ <** @description: numElements = allowed range: >=1. If numElements >1, buffered data are provided.**>
+ UInt16 numElements
+ }
+ }
+
+ <** @description: notifyVehicleSpeedDataChanged
+ The signal will be emitted when new vehicle speed sensor data is available.
+ All valid flags are updated. The data is only guaranteed to be updated when the valid flags are true.
+ **>
+ broadcast notifyVehicleSpeedDataChanged selective {
+ }
+
+ <** @description: getStatus = get the vehicle speed sensor status at a specific point in time. **>
+ method getStatus {
+ out {
+ TSensorStatus status
+ <** @description: available = Is true if data can be provided and false otherwise, e.g. missing initialization **>
+ Boolean available
+ }
+ }
+ <** @description: notifyStatusChanged
+ The signal will be emitted when new odometer sensor status data is available.
+ **>
+ broadcast notifyStatusChanged selective {
+ }
+
+}
+