summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Residori <marco.residori@xse.de>2014-11-26 09:33:37 +0100
committerMarco Residori <marco.residori@xse.de>2014-11-26 09:33:37 +0100
commitdda586f1d69bd879917bfb2b40b8fa777e6840e6 (patch)
treeca53d29f183530392cabf3d6a4b5b403ba4ee453
parentc40c0de083632793fdd377a21a10e13dae6dfe97 (diff)
downloadpositioning-dda586f1d69bd879917bfb2b40b8fa777e6840e6.tar.gz
GT-3012 update franca fidl files so that they match the new d-bus interface
-rwxr-xr-xenhanced-position-service/api/franca/Configuration.fidl4
-rwxr-xr-xenhanced-position-service/api/franca/EnhancedPosition.fidl101
-rwxr-xr-xenhanced-position-service/api/franca/EnhancedPositionServiceTypes.fidl233
-rwxr-xr-xenhanced-position-service/api/franca/PositionFeedback.fidl6
4 files changed, 103 insertions, 241 deletions
diff --git a/enhanced-position-service/api/franca/Configuration.fidl b/enhanced-position-service/api/franca/Configuration.fidl
index 022d0c8..be48ad9 100755
--- a/enhanced-position-service/api/franca/Configuration.fidl
+++ b/enhanced-position-service/api/franca/Configuration.fidl
@@ -22,9 +22,9 @@ interface Configuration {
}
<**
- @description : SatelliteSystem = satellite system (GPS, Glonass, ...)
+ @description : SatSystem = satellite system (GPS, GLONASS, ...)
**>
- attribute UInt16 SatelliteSystem
+ attribute SatelliteSystem SatSystem
<**
@description : UpdateInterval = update interval
diff --git a/enhanced-position-service/api/franca/EnhancedPosition.fidl b/enhanced-position-service/api/franca/EnhancedPosition.fidl
index 5f47b07..549b71d 100755
--- a/enhanced-position-service/api/franca/EnhancedPosition.fidl
+++ b/enhanced-position-service/api/franca/EnhancedPosition.fidl
@@ -31,65 +31,32 @@ interface EnhancedPosition {
}
<**
- @description : GetData = This method returns a given set of positioning data (e.g. Position, Course, Accuracy, Status, ... )
+ @description : GetPositionInfo = This method returns a given set of positioning data (e.g. Position, Course, Accuracy, Status, ... )
Note: If a requested value is invalid, it's not returned to the client application
**>
- method GetData {
+ method GetPositionInfo {
in {
- PositionDataKey[] valuesToReturn
+ <** @description : valuesToReturn = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to the values to be returned **>
+ Bitmask valuesToReturn
}
out {
- PositionData data
+ <** @description : timestamp = Timestamp of the acquisition of the position data [ms] **>
+ Timestamp timestamp
+ <** @description : data = Position data **>
+ PositionInfo[] data
}
}
-
- <**
- @description : GetPosition = This method returns the current position
- Note: If a requested value is invalid, it's not returned to the client application
- **>
- method GetPosition {
- out {
- PositionInfo position
- }
- }
-
- <**
- @description : GetRotationRate = This method returns the rotation rate
- Note: If a requested value is invalid, it's not returned to the client application
- **>
- method GetRotationRate {
- out {
- RotationRate rotationRate
- }
- }
-
- <**
- @description : GetAccuracy = This method returns the accuracy
- Note: If a requested value is invalid, it's not returned to the client application
- **>
- method GetAccuracy {
- out {
- AccuracyInfo accuracy
- }
- }
-
+
<**
@description : GetSatelliteInfo = This method returns information about the current satellite constellation
Note: If a requested value is invalid, it's not returned to the client application
**>
method GetSatelliteInfo {
out {
- SatelliteInfo satelliteInfo
- }
- }
-
- <**
- @description : GetStatus = This method returns the status of this service
- Note: If a requested value is invalid, it's not returned to the client application
- **>
- method GetStatus {
- out {
- StatusInfo status
+ <** @description : timestamp = Timestamp of the acquisition of the satellite detail data [ms] **>
+ Timestamp timestamp
+ <** @description : satelliteInfo = satellite information **>
+ SatelliteInfo[] satelliteInfo
}
}
@@ -99,6 +66,9 @@ interface EnhancedPosition {
**>
method GetTime {
out {
+ <** @description : timestamp = Timestamp of the acquisition of the UTC date/time [ms] **>
+ Timestamp timestamp
+ <** @description : time = UTC date/time **>
TimeInfo time
}
}
@@ -108,43 +78,8 @@ interface EnhancedPosition {
**>
broadcast PositionUpdate {
out {
- PositionDataKey[] changedValues
- }
- }
-
- <**
- @description : RotationRateUpdated = This signal is emitted when the rotation rate changes
- **>
- broadcast RotationRateUpdate {
- out {
- RotationRateKey[] changedValues
- }
- }
-
- <**
- @description : AccuracyUpdated = This signal is emitted when the accuracy changes
- **>
- broadcast AccuracyUpdate {
- out {
- AccuracyInfoKey[] changedValues
- }
- }
-
- <**
- @description : SatelliteInfoUpdate = This signal is emitted when information about the current satellite information is updated
- **>
- broadcast SatelliteInfoUpdate {
- out {
- SatelliteInfoKey[] changedValues
- }
- }
-
- <**
- @description : StatusUpdate = This signal is emitted when the status of this service changes
- **>
- broadcast StatusUpdate {
- out {
- StatusInfoKey[] changedValues
+ <** @description : valuesToReturn = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to the values that changed **>
+ Bitmask changedValues
}
}
diff --git a/enhanced-position-service/api/franca/EnhancedPositionServiceTypes.fidl b/enhanced-position-service/api/franca/EnhancedPositionServiceTypes.fidl
index a16cb07..fb20163 100755
--- a/enhanced-position-service/api/franca/EnhancedPositionServiceTypes.fidl
+++ b/enhanced-position-service/api/franca/EnhancedPositionServiceTypes.fidl
@@ -14,6 +14,11 @@ typeCollection EnhancedPositionServiceTypes {
typedef Handle is UInt32
+ typedef Timestamp is UInt64
+
+ <** @description: bitmask obtained as a result of an OR operation on enum values of type PositionInfoKey **>
+ typedef Bitmask is UInt64
+
<** @description: version.**>
struct Version {
<** @description : when the major changes, then backward compatibility with previous releases is not granted.**>
@@ -26,17 +31,13 @@ typeCollection EnhancedPositionServiceTypes {
String date
}
- <** @description : genereic value (mapped to a dbus variant ('v') data type.**>
+ <** @description : Value = generic value (mapped to a dbus variant ('v') data type.**>
union Value {
UInt32 uInt32Value
String stringValue
}
-
- enumeration BasicEnum {
- INVALID = 0x0000
- }
- <** @description: 2D geocoordinate.**>
+ <** @description: Coordinate2D = 2D geocoordinate.**>
struct Coordinate2D {
<** @description : latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250.**>
Double latitude
@@ -44,37 +45,42 @@ typeCollection EnhancedPositionServiceTypes {
Double longitude
}
- <** @description: 3D geocoordinate.**>
+ <** @description: Coordinate3D = 3D geocoordinate.**>
struct Coordinate3D extends Coordinate2D {
<** @description : altitude above the sea level of the current position in meters.**>
Int32 altitude
}
- enumeration PositionDataKey extends BasicEnum {
- TIMESTAMP = 0x0001
- LATITUDE = 0x0020
- LONGITUDE = 0x0021
- ALTITUDE = 0x0022
- HEADING = 0x0030
- SPEED = 0x0031
- CLIMB = 0x0032
- ROLL_RATE = 0x0060
- PITCH_RATE = 0x0061
- YAW_RATE = 0x0062
- PDOP = 0x0080
- HDOP = 0x0081
- VDOP = 0x0082
- SIGMA_LATITUDE = 0x0083
- SIGMA_LONGITUDE = 0x0084
- SIGMA_ALTITUDE = 0x0085
- SIGMA_HEADING = 0x0086
- ALL = 0xffff
+ enumeration PositionInfoKey {
+ LATITUDE = "0x00000001"
+ LONGITUDE = "0x00000002"
+ ALTITUDE = "0x00000004"
+ HEADING = "0x00000008"
+ SPEED = "0x00000010"
+ CLIMB = "0x00000020"
+ ROLL_RATE = "0x00000040"
+ PITCH_RATE = "0x00000080"
+ YAW_RATE = "0x00000100"
+ PDOP = "0x00000200"
+ HDOP = "0x00000400"
+ VDOP = "0x00000800"
+ USED_SATELLITES = "0x00001000"
+ TRACKED_SATELLITES = "0x00002000"
+ VISIBLE_SATELLITES = "0x00004000"
+ SIGMA_HPOSITION = "0x00008000"
+ SIGMA_ALTITUDE = "0x00010000"
+ SIGMA_HEADING = "0x00020000"
+ SIGMA_SPEED = "0x00040000"
+ SIGMA_CLIMB = "0x00080000"
+ GNSS_FIX_STATUS = "0x00100000"
+ DR_STATUS = "0x00200000"
+ RELIABILTY_INDEX = "0x00400000"
+ ALL = "0xffffffff"
}
<**
- @description : PositioningData = array of tuples (key,value)
- key = enumeration PositionDataKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
+ @description : PositioningInfo = array of tuples (key,value)
+ key = enumeration PositionInfoKey
key = LATITUDE, value = value of type 'Double', that expresses the latitude of the current position. Range [-90:+90]. Example: 48.053250
key = LONGITUDE, value = value of type 'Double', that expresses the longitude of the current position. Range [-180:+180]. Example: 8.324500
key = ALTITUDE, value = value of type 'Int32', that expresses the altitude above the sea level of the current position in meters
@@ -87,150 +93,49 @@ typeCollection EnhancedPositionServiceTypes {
key = PDOP, value = value of type 'Double', that represents the positional (3D) dilution of precision
key = HDOP, value = value of type 'Double', that represents the horizontal (2D) dilution of precision
key = VDOP, value = value of type 'Double', that represents vertical (altitude) dilution of precision
- key = SIGMA_LATITUDE, value = value of type 'Double', that represents the standard deviation for latitude in m
- key = SIGMA_LONGITUDE, value = value of type 'Double', that represents the standard deviation for longitude in m
+ key = SIGMA_HPOSITION, value = value of type 'Double', that represents the standard deviation for the horizontal position in m
key = SIGMA_ALTITUDE, value = value of type 'Double', that represents the standard deviation for altitude in m
key = SIGMA_HEADING, value = value of type 'Double', that represents the standard deviation for altitude in degrees
+ key = USED_SATELLITES, value = value of type 'UInt8', that represents the number of used satellites
+ key = TRACKED_SATELLITES, value = value of type 'UInt8', that represents the number of tracked satellites
+ key = VISIBLE_SATELLITES, value = value of type 'UInt8', that represents the number of visible satellites
+ key = GNSS_FIX_STATUS, value = value of type 'q', that represents an enum(NO_FIX(0x01),TIME_FIX(0x01),2D_FIX(0x02),3D_FIX(0x03), ... )
+ key = DR_STATUS, value = value of type 'b', where TRUE means that a dead-reckoning algorithm has been used to calculate the current position
**>
- map PositionData {
- PositionDataKey to Value
- }
-
- enumeration PositionInfoKey extends BasicEnum {
- TIMESTAMP = 0x0001
- LATITUDE = 0x0020
- LONGITUDE = 0x0021
- ALTITUDE = 0x0022
- HEADING = 0x0030
- SPEED = 0x0031
- CLIMB = 0x0032
- }
-
- <**
- @description : PositionInfo = array of tuples (key,value)
- key = enumeration PositionInfoKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
- key = LATITUDE, value = value of type 'Double', that expresses the latitude of the current position. Range [-90:+90]. Example: 48.053250
- key = LONGITUDE, value = value of type 'Double', that expresses the longitude of the current position. Range [-180:+180]. Example: 8.324500
- key = ALTITUDE, value = value of type 'Int32', that expresses the altitude above the sea level of the current position in meters
- key = HEADING, value = value of type 'Int32', that expresses the course angle in degree. Range [0:360]. 0 = north, 90 = east, 180 = south, 270 = west
- key = SPEED, value = value of type 'Double', that expresses speed measured in m/s. A negative value indicates that the vehicle is moving backwards
- key = CLIMB, value = value of type 'Int32', that expresses the road gradient in degrees
- **>
map PositionInfo {
PositionInfoKey to Value
}
- enumeration RotationRateKey extends BasicEnum {
- TIMESTAMP = 0x0001
- ROLL_RATE = 0x0060
- PITCH_RATE = 0x0061
- YAW_RATE = 0x0062
- }
-
<**
- @description : RotationRate = array of tuples (key,value)
- key = enumeration RotationRateKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
- key = ROLL_RATE, value = rotation rate around the X-axis in degrees/s. Range [-100:+100]
- key = PITCH_RATE, value = rotation rate around the Y-axis in degrees/s. Range [-100:+100]
- key = YAW_RATE, value = rotation rate around the Z-axis in degrees/s. Range [-100:+100]
+ @description : SatelliteInfo = array(struct(system,satelliteId,azimuth,elevation,snr,inUse))
+ system = enum(GPS, GLONASS, GALILEO, COMPASS, ... )
+ satelliteId = satellite ID. This ID is unique within one satellite system
+ azimuth = satellite azimuth in degrees. Value range 0..359
+ elevation = satellite elevation in degrees. Value range 0..90
+ snr = SNR (C/No) in dBHz. Range 0 to 99, null when not tracking
+ inUse = flag indicating if the satellite is used for the fix (inUse=true)
**>
- map RotationRate {
- RotationRateKey to Value
- }
-
- enumeration AccuracyInfoKey extends BasicEnum {
- TIMESTAMP = 0x0001
- PDOP = 0x0080
- HDOP = 0x0081
- VDOP = 0x0082
- SIGMA_LATITUDE = 0x0083
- SIGMA_LONGITUDE = 0x0084
- SIGMA_ALTITUDE = 0x0085
- SIGMA_HEADING = 0x0086
- }
-
- <**
- @description : AccuracyInfo = array of tuples (key,value)
- key = enumeration AccuracyInfoKey
- key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms
- key = PDOP, value = value of type 'd', that represents the positional (3D) dilution of precision
- key = HDOP, value = value of type 'd', that represents the horizontal (2D) dilution of precision
- key = VDOP, value = value of type 'd', that represents vertical (altitude) dilution of precision
- key = SIGMA_LATITUDE, value = value of type 'd', that represents the standard deviation for latitude in m
- key = SIGMA_LONGITUDE, value = value of type 'd', that represents the standard deviation for longitude in m
- key = SIGMA_ALTITUDE, value = value of type 'd', that represents the standard deviation for altitude in m
- key = SIGMA_HEADING, value = value of type 'd', that represents the standard deviation for altitude in degrees
- **>
- map AccuracyInfo {
- AccuracyInfoKey to Value
- }
-
- enumeration SatelliteInfoKey extends BasicEnum {
- TIMESTAMP = 0x0001
- USED_SATELLITES = 0x00c0
- TRACKED_SATELLITES = 0x00c1
- VISIBLE_SATELLITES = 0x00c2
- SATELLITE_DETAILS = 0x00c3
- }
-
- struct SatelliteDetails {
- UInt32 satId
+ struct SatelliteInfo {
+ UInt32 satellitId
Boolean inUse
UInt32 elevation
UInt32 azimuth
UInt32 snr
}
- <**
- @description : SatelliteInfo = array of tuples (key,value)
- key = enumeration SatelliteInfoKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
- key = USED_SATELLITES, value = value of type 'UInt8', that represents the number of used satellites
- key = TRACKED_SATELLITES, value = value of type 'UInt8', that represents the number of tracked satellites
- key = VISIBLE_SATELLITES, value = value of type 'UInt8', that represents the number of visible satellites
- key = SATELLITE_DETAILS, value = value of type SatelliteDetails[], that represents an array(struct(satId,inUse,elevation,azimuth,snr))
- The satID numbering scheme shall be as defined by NMEA-0183 (v3.01 or later) for the GSV sentence:
- 1..32: GPS satellites (by PRN), 33..64: SBAS/WAAS satellites, 65..96: Glonass satellites
- Note: Later NMEA-0183 versions probably already have Galileo support
- **>
- map SatelliteInfo {
- SatelliteInfoKey to Value
- }
-
- enumeration StatusInfoKey extends BasicEnum {
- TIMESTAMP = 0x0001
- GNSS_FIX_STATUS = 0x0070
- DR_STATUS = 0x0071
- }
-
- <**
- @description : StatusInfo = array of tuples (key,value)
- key = enumeration StatusInfoKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
- key = GNSS_FIX_STATUS, value = value of type 'UInt16', that represents an enum(INVALID(0x00),NO_FIX(0x01),TIME_FIX(0x02),2D_FIX(0x03),3D_FIX(0x04), ... )
- key = DR_STATUS, value = value of type 'Boolean', where TRUE means that a dead-reckoning algorithm has been used to calculate the current position
- **>
- map StatusInfo {
- StatusInfoKey to Value
- }
-
- enumeration TimeInfoKey extends BasicEnum {
- TIMESTAMP = 0x0001
- YEAR = 0x00a0
- MONTH = 0x00a1
- DAY = 0x00a2
- HOUR = 0x00a3
- MINUTE = 0x00a4
- SECOND = 0x00a5
- MS = 0x00a6
+ enumeration TimeInfoKey {
+ YEAR = "0x01000000"
+ MONTH = "0x02000000"
+ DAY = "0x04000000"
+ HOUR = "0x08000000"
+ MINUTE = "0x10000000"
+ SECOND = "0x20000000"
+ MS = "0x40000000"
}
<**
@description : TimeInfo = array of tuples (key,value)
key = enumeration TimeInfoKey
- key = TIMESTAMP, value = value of type 'UInt64', that represents a timestamp in ms
key = YEAR, value = value of type 'UInt16', 4 digits number that indicates the year. Example: 2012
key = MONTH, value = value of type 'UInt8', 2 digits number that indicates the month. Example: 03 means March
key = DAY, value = value of type 'UInt8', 2 digits number that indicates the day. Range [0:31]. Example: 07
@@ -243,6 +148,28 @@ typeCollection EnhancedPositionServiceTypes {
TimeInfoKey to Value
}
+ enumeration PositionFeedbackKey {
+ LATITUDE = "0x00000001"
+ LONGITUDE = "0x00000002"
+ ALTITUDE = "0x00000004"
+ HEADING = "0x00000008"
+ SPEED = "0x00000010"
+ CLIMB = "0x00000020"
+ RELIABILTY_INDEX = "0x00400000"
+ }
+
+ enumeration PositionFeedbackType {
+ MAP_MATCHED_FEEDBACK = "0x00000001"
+ TEST_FEEDBACK = "0x00000002"
+ }
+
+ enumeration SatelliteSystem {
+ GPS = "0x00000001"
+ GLONASS = "0x00000002"
+ GALILEO = "0x00000003"
+ COMPASS = "0x00000004"
+ }
+
}
diff --git a/enhanced-position-service/api/franca/PositionFeedback.fidl b/enhanced-position-service/api/franca/PositionFeedback.fidl
index a4a4131..4700453 100755
--- a/enhanced-position-service/api/franca/PositionFeedback.fidl
+++ b/enhanced-position-service/api/franca/PositionFeedback.fidl
@@ -46,13 +46,13 @@ interface PositionFeedback {
<**
@description : feedbackType = enum(INVALID,MAP_MATCHED_FEEDBACK,TEST_FEEDBACK, ... )
**>
- UInt16 feedbackType
+ PositionFeedbackType feedbackType
}
}
<**
@description : PositionFeedback = array of tuples (key,value)</line>
- key = enum(INVALID,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,RELIABILTY_INDEX, ... )</line>
+ key = enum(LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,RELIABILTY_INDEX, ... )</line>
key = LATITUDE, value = value of type ´d´, that expresses the latitude of the current position in format %3.6f. [-90,+90]. Example: 48.053250
key = LONGITUDE, value = value of type ´d´, that expresses the longitude of the current position in format %3.6f. [-180,+180]. Example: 8.324500
key = ALTITUDE, value = value of type ´i´, that expresses the altitude above the sea level of the current position in meters
@@ -62,7 +62,7 @@ interface PositionFeedback {
key = RELIABILTY_INDEX, value = value of type ´y´, that indicates the position feedabck reliabilty. It can assume values from 0 to 100
**>
map PositionFeedback {
- UInt16 to Value
+ PositionFeedbackKey to Value
}
}