ITS
|
API used by the DEN Basic Service. More...
#include <AppDenmTriggerData.h>
#include <AppDenmUpdateData.h>
#include <AppDenmTerminationData.h>
#include <AppDenmResultData.h>
#include <denMessageTableSource.h>
#include <denMessageTableReception.h>
#include <denMessageTableForwarding.h>
#include <ParameterApplication.h>
#include <ParameterGPS.h>
#include <ParameterConfiguration.h>
#include <ParameterCAN.h>
#include <FakeGPSProvider.h>
#include <api.h>
#include <GNDataRequest.h>
Go to the source code of this file.
Macros | |
#define | DefaultValidity 600 |
API used by the DEN Basic Service.
Definition in file apiDenBasicService.h.
#define DefaultValidity 600 |
Definition at line 25 of file apiDenBasicService.h.
Referenced by denTriggeringManagement::AppDENM_update(), calculate_T_O_Validity(), denReceptionManagement::denmReception(), fill_ManagementContainer(), and denReceptionManagement::sendRequestResponseIndication_Response().
ActionID_t assignUnusedActionID | ( | ParameterApplication * | appli, |
ActionID_t | currentActionID | ||
) |
assignUnusedActionID Assign an unused ActionID.
appli | The Application parameters. |
currentActionID | The current ActionID. |
Definition at line 37 of file apiDenBasicService.cpp.
References ActionID::originatingStationID, ActionID::sequenceNumber, and ParameterApplication::stationID().
Referenced by denTriggeringManagement::AppDENM_trigger().
quint64 calculate_T_O_Validity | ( | quint64 | detectionTime, |
quint32 | validityDuration | ||
) |
calculate_T_O_Validity Compute the T_O_Validity timer.
detectionTime | DENM detection time. |
validityDuration | Validity duration. |
Definition at line 3 of file apiDenBasicService.cpp.
Referenced by denTriggeringManagement::AppDENM_trigger(), and calculate_T_O_Validity().
quint64 calculate_T_O_Validity | ( | AppDenmTriggerData | data | ) |
calculate_T_O_Validity Compute the T_O_Validity timer.
data | The triggering data. |
Definition at line 8 of file apiDenBasicService.cpp.
References calculate_T_O_Validity(), DefaultValidity, AppDenmTriggerData::eventDetectionTime(), and AppDenmTriggerData::validityDuration().
quint64 calculate_T_O_Validity | ( | AppDenmUpdateData | data, |
quint32 * | validityDuration | ||
) |
calculate_T_O_Validity Compute the T_O_Validity timer.
data | The updating data. |
The | validity duration. |
Definition at line 13 of file apiDenBasicService.cpp.
References calculate_T_O_Validity(), DefaultValidity, AppDenmUpdateData::eventUpdateDetectionTime(), and AppDenmUpdateData::validityDuration().
quint64 calculate_T_O_Validity | ( | AppDenmTerminationData | data | ) |
calculate_T_O_Validity Compute the T_O_Validity timer.
data | The termination data. |
Definition at line 22 of file apiDenBasicService.cpp.
References calculate_T_O_Validity(), DefaultValidity, AppDenmTerminationData::eventTerminationDetectionTime(), and AppDenmTerminationData::validityDuration().
ActionID_t defaultActionID | ( | ParameterApplication * | appli, |
SequenceNumber_t | sequenceNumber | ||
) |
defaultActionID Generate a default ActionID.
appli | Application parameter. |
sequenceNumber | Sequence number. |
Definition at line 27 of file apiDenBasicService.cpp.
References ActionID::originatingStationID, ActionID::sequenceNumber, and ParameterApplication::stationID().
Referenced by denTriggeringManagement::AppDENM_trigger().
bool fill_AlacarteContainer | ( | AppDenmTriggerData | data, |
AlacarteContainer_t * | alacarte | ||
) |
fill_AlacarteContainer Fills the AlacarteContainer.
data | The triggering data. |
alacarte | The AlacarteContainer to fill. |
Definition at line 232 of file apiDenBasicService.cpp.
References AppDenmTriggerData::alacarte(), asn_DEF_AlacarteContainer, asn_dec_rval_s::code, RC_OK, and uper_decode_complete().
Referenced by denTriggeringManagement::AppDENM_trigger(), denTriggeringManagement::AppDENM_update(), and denReceptionManagement::sendRequestResponseIndication_Response().
bool fill_AlacarteContainer | ( | AppDenmUpdateData | data, |
AlacarteContainer_t * | alacarte | ||
) |
fill_AlacarteContainer Fills the AlacarteContainer.
data | The updating data. |
alacarte | The AlacarteContainer to fill. |
Definition at line 241 of file apiDenBasicService.cpp.
References AppDenmUpdateData::alacarte(), asn_DEF_AlacarteContainer, asn_dec_rval_s::code, RC_OK, and uper_decode_complete().
AlacarteContainer_t fill_AlacarteContainer | ( | ParameterConfiguration * | conf, |
ParameterCAN * | can | ||
) |
fill_AlacarteContainer Fills the AlacarteContainer.
conf | Global configuration. |
can | The CAN bus. |
Definition at line 250 of file apiDenBasicService.cpp.
References ImpactReductionContainer::heightLonCarrLeft, ParameterConfiguration::heightLonCarrLeft(), ImpactReductionContainer::heightLonCarrRight, ParameterConfiguration::heightLonCarrRight(), AlacarteContainer::impactReduction, ImpactReductionContainer::posCentMass, ParameterConfiguration::posCentMass(), ImpactReductionContainer::posFrontAx, ParameterConfiguration::posFrontAx(), ImpactReductionContainer::positionOfOccupants, ParameterCAN::positionOfOccupants(), ImpactReductionContainer::positionOfPillars, ParameterConfiguration::positionOfPillars(), ImpactReductionContainer::posLonCarrLeft, ParameterConfiguration::posLonCarrLeft(), ImpactReductionContainer::posLonCarrRight, ParameterConfiguration::posLonCarrRight(), ImpactReductionContainer::requestResponseIndication, RequestResponseIndication_response, ImpactReductionContainer::turningRadius, ParameterConfiguration::turningRadius(), ImpactReductionContainer::vehicleMass, ParameterConfiguration::vehicleMass(), ImpactReductionContainer::wheelBaseVehicle, and ParameterConfiguration::wheelBaseVehicle().
ItsPduHeader_t fill_ItsPduHeader | ( | StationID_t | stationID | ) |
fill_ItsPduHeader Fills the ItsPduHeader.
stationID | The ITS-S StationID. |
Definition at line 47 of file apiDenBasicService.cpp.
References ItsPduHeader::messageID, messageID_denm, ItsPduHeader::protocolVersion, protocolVersion_currentVersion, and ItsPduHeader::stationID.
Referenced by denReceptionManagement::AppDENM_negation(), denTriggeringManagement::AppDENM_trigger(), denTriggeringManagement::AppDENM_update(), and denReceptionManagement::sendRequestResponseIndication_Response().
bool fill_LocationContainer | ( | AppDenmTriggerData | data, |
LocationContainer_t * | location | ||
) |
fill_LocationContainer Fills the LocationContainer.
data | The triggering data. |
situation | The LocationContainer to fill. |
Definition at line 196 of file apiDenBasicService.cpp.
References asn_DEF_LocationContainer, ASN_SEQUENCE_ADD, asn_dec_rval_s::code, AppDenmTriggerData::location(), RC_OK, and uper_decode_complete().
Referenced by denTriggeringManagement::AppDENM_trigger(), and denTriggeringManagement::AppDENM_update().
bool fill_LocationContainer | ( | AppDenmUpdateData | data, |
LocationContainer_t * | location | ||
) |
fill_LocationContainer Fills the LocationContainer.
data | The updating data. |
situation | The LocationContainer to fill. |
Definition at line 214 of file apiDenBasicService.cpp.
References asn_DEF_LocationContainer, ASN_SEQUENCE_ADD, asn_dec_rval_s::code, AppDenmUpdateData::location(), RC_OK, and uper_decode_complete().
bool fill_ManagementContainer | ( | AppDenmTriggerData | data, |
ManagementContainer_t * | management, | ||
ParameterApplication * | appli, | ||
ParameterGPS | gps | ||
) |
fill_ManagementContainer Fills the ManagementContainer.
data | The triggering data. |
management | The ManagementContainer to fill. |
appli | The Application configuration. |
gps | The GPS. |
Definition at line 58 of file apiDenBasicService.cpp.
References asn_ulong2INTEGER(), DefaultValidity, ManagementContainer::detectionTime, AppDenmTriggerData::eventDetectionTime(), ManagementContainer::eventPosition, AppDenmTriggerData::eventPosition(), isReferencePositionAvailable(), ParameterGPS::referencePosition(), ManagementContainer::relevanceDistance, AppDenmTriggerData::relevanceDistance(), ManagementContainer::relevanceTrafficDirection, AppDenmTriggerData::relevanceTrafficDirection(), ManagementContainer::stationType, ParameterApplication::stationType(), ManagementContainer::termination, ReferencePositionData::toASN(), ManagementContainer::validityDuration, and AppDenmTriggerData::validityDuration().
Referenced by denTriggeringManagement::AppDENM_cancellation(), denReceptionManagement::AppDENM_negation(), denTriggeringManagement::AppDENM_trigger(), denTriggeringManagement::AppDENM_update(), and denReceptionManagement::sendRequestResponseIndication_Response().
bool fill_ManagementContainer | ( | AppDenmUpdateData | data, |
ManagementContainer_t * | management, | ||
ManagementContainer_t | origin, | ||
ActionID_t | actionID, | ||
ParameterApplication * | appli | ||
) |
fill_ManagementContainer Fills the updated ManagementContainer.
data | The updating data. |
management | The ManagementContainer to fill. |
origin | The ManagementContainer to update. |
appli | The Application configuration. |
gps | The GPS. |
Definition at line 92 of file apiDenBasicService.cpp.
References ManagementContainer::actionID, asn_ulong2INTEGER(), DefaultValidity, ManagementContainer::detectionTime, ManagementContainer::eventPosition, AppDenmUpdateData::eventPosition(), AppDenmUpdateData::eventUpdateDetectionTime(), ManagementContainer::relevanceDistance, AppDenmUpdateData::relevanceDistance(), ManagementContainer::relevanceTrafficDirection, AppDenmUpdateData::relevanceTrafficDirection(), ManagementContainer::stationType, ParameterApplication::stationType(), ManagementContainer::termination, ReferencePositionData::toASN(), ManagementContainer::validityDuration, and AppDenmUpdateData::validityDuration().
bool fill_ManagementContainer | ( | TimestampIts_t | detectionTime, |
ManagementContainer_t * | management, | ||
Termination_t | termination, | ||
FakeGPSProvider * | gps, | ||
ParameterApplication * | appli | ||
) |
fill_ManagementContainer Fills the terminated ManagementContainer.
detectionTime | ManagementContainer detectionTime. |
management | The ManagementContainer to fill. |
termination | Type of the termination. |
gps | The GPS |
appli | The Application configuration. |
Definition at line 141 of file apiDenBasicService.cpp.
References asn_ulong2INTEGER(), ManagementContainer::detectionTime, ManagementContainer::referenceTime, setTimestampIts(), ManagementContainer::stationType, ParameterApplication::stationType(), ManagementContainer::termination, and FakeGPSProvider::timestamp().
bool fill_ManagementContainer | ( | TimestampIts_t | detectionTime, |
TimestampIts_t | referenceTime, | ||
ManagementContainer_t * | management, | ||
Termination_t | termination, | ||
FakeGPSProvider * | gps, | ||
ParameterApplication * | appli | ||
) |
fill_ManagementContainer Fills the terminated ManagementContainer.
detectionTime | ManagementContainer detectionTime. |
referenceTime | ManagementContainer referenceTime. |
management | The ManagementContainer to fill. |
termination | Type of the termination. |
gps | The GPS |
appli | The Application configuration. |
Definition at line 153 of file apiDenBasicService.cpp.
References ManagementContainer::detectionTime, ManagementContainer::referenceTime, setTimestampIts(), ManagementContainer::stationType, ParameterApplication::stationType(), and ManagementContainer::termination.
ManagementContainer_t fill_ManagementContainer | ( | ActionID | originatingActionID, |
ParameterGPS * | gps, | ||
ParameterApplication * | appli | ||
) |
fill_ManagementContainer Fills the ManagementContainer.
originatingActionID | ManagementContainer ActionID. |
gps | The GPS. |
appli | The Application configuration. |
Definition at line 166 of file apiDenBasicService.cpp.
References ManagementContainer::actionID, asn_long2INTEGER(), ManagementContainer::detectionTime, ManagementContainer::eventPosition, ParameterGPS::referencePosition(), ManagementContainer::stationType, ParameterApplication::stationType(), and ParameterGPS::timestamp().
bool fill_SituationContainer | ( | AppDenmTriggerData | data, |
SituationContainer_t * | situation | ||
) |
fill_SituationContainer Fills the SituationContainer.
data | The triggering data. |
situation | The SituationContainer to fill. |
Definition at line 179 of file apiDenBasicService.cpp.
References asn_DEF_SituationContainer, asn_dec_rval_s::code, RC_OK, AppDenmTriggerData::situation(), and uper_decode_complete().
Referenced by denTriggeringManagement::AppDENM_trigger(), and denTriggeringManagement::AppDENM_update().
bool fill_SituationContainer | ( | AppDenmUpdateData | data, |
SituationContainer_t * | situation | ||
) |
fill_SituationContainer Fills the SituationContainer.
data | The updating data. |
situation | The SituationContainer to fill. |
Definition at line 188 of file apiDenBasicService.cpp.
References asn_DEF_SituationContainer, asn_dec_rval_s::code, RC_OK, AppDenmUpdateData::situation(), and uper_decode_complete().
gnDataRequest_t gnDataRequestFromAppDenmTriggerData | ( | AppDenmTriggerData | data, |
ParameterGPS | gps | ||
) |
gnDataRequestFromAppDenmTriggerData Generate a GN Data Request from an AppDenmTriggerData.
data | The AppDenmTriggerData. |
gps | The GPS. |
Definition at line 311 of file apiDenBasicService.cpp.
References btpPort_DENM, gnDataRequest_s::destinationAddress, AppDenmTriggerData::destinationArea(), gnDataRequest_s::destinationPort, gnDataRequest_s::destinationPortInfo, gnDataRequest_s::gnCommunicationProfile, gnCommunicationProfile_ITS_G5A, gnDataRequestFromDestinationArea(), gnDataRequestFromLifeTime(), gnDataRequestFromTrafficClass(), AppDenmTriggerData::lifeTime(), gnDataRequest_s::maximumHopLimit, AppDenmTriggerData::maximumHopLimit(), gnDataRequest_s::maximumPacketLifeTime, gnDataRequest_s::maximumRepetitionTime, gnDataRequest_s::packetTransportSubType, gnDataRequest_s::packetTransportType, gnDataRequest_s::repetitionInterval, AppDenmTriggerData::repetitionInterval(), DestinationAreaData::shape(), DestinationAreaData::shape_circle, DestinationAreaData::shape_ellipse, DestinationAreaData::shape_rectangle, gnDataRequest_s::trafficClass, AppDenmTriggerData::trafficClass(), AppDenmTriggerData::transmissionInterval(), and gnDataRequest_s::upperProtocolEntity.
Referenced by denKAFManagement::PassDenmToNetworkAndTransportLayerTrigger(), denTriggeringManagement::PassDenmToNetworkAndTransportLayerTrigger(), and denReceptionManagement::PassDenmToNetworkAndTransportLayerTrigger().
destinationAddress_t gnDataRequestFromDestinationArea | ( | DestinationAreaData | data, |
ParameterGPS | gps | ||
) |
gnDataRequestFromDestinationArea Generate a destination address from data.
data | The destination data. |
gps | The GPS. |
Definition at line 369 of file apiDenBasicService.cpp.
References sniff_destinationArea_s::angle, DestinationAreaData::angle(), destinationAddress_s::choice, destinationAddress_PR_DestinationArea, destinationAddress_s::destinationArea, sniff_destinationArea_s::distanceA, DestinationAreaData::distanceA(), sniff_destinationArea_s::distanceB, DestinationAreaData::distanceB(), sniff_destinationArea_s::geoAreaPosLatitude, DestinationAreaData::geoAreaPosLatitude(), sniff_destinationArea_s::geoAreaPosLongitude, DestinationAreaData::geoAreaPosLongitude(), isDestinationAreaAvailable(), ReferencePosition::latitude, ReferencePosition::longitude, destinationAddress_s::present, ParameterGPS::referencePosition(), and sniff_destinationArea_s::reserved.
Referenced by gnDataRequestFromAppDenmTriggerData().
LifeTime gnDataRequestFromLifeTime | ( | LifeTimeData | data | ) |
gnDataRequestFromLifeTime Generate a life time from data.
data | The life time data. |
Definition at line 395 of file apiDenBasicService.cpp.
References LifeTimeData::base(), and LifeTimeData::multiplier().
Referenced by gnDataRequestFromAppDenmTriggerData().
TrafficClass gnDataRequestFromTrafficClass | ( | TrafficClassData | data | ) |
gnDataRequestFromTrafficClass Generate a traffic class from data.
data | The traffic class data. |
Definition at line 390 of file apiDenBasicService.cpp.
References TrafficClassData::channelOffload(), TrafficClassData::storeCarryForward(), and TrafficClassData::trafficClassID().
Referenced by gnDataRequestFromAppDenmTriggerData().
int haveDENM | ( | ActionID_t | actionID, |
QVector< denMessageTableSource *> | table | ||
) |
haveDENM Check if the DENM exists in the denMessageTableSource
Definition at line 275 of file apiDenBasicService.cpp.
References isEqual_ActionID().
Referenced by denTriggeringManagement::AppDENM_cancellation(), denReceptionManagement::AppDENM_negation(), denTriggeringManagement::AppDENM_update(), denReceptionManagement::denmReception(), denKAFManagement::discardDENMFromForwardingTable(), denReceptionManagement::discardDENMFromReceivedTable(), denTriggeringManagement::discardDENMFromTriggeredTable(), denKAFManagement::kaf(), denKAFManagement::repeatDENMFromForwardingTable(), and denTriggeringManagement::repeatDENMFromTriggeredTable().
int haveDENM | ( | ActionID_t | actionID, |
QVector< denMessageTableReception *> | table | ||
) |
haveDENM Check if the DENM exists in the denMessageTableReception
Definition at line 287 of file apiDenBasicService.cpp.
References isEqual_ActionID().
int haveDENM | ( | ActionID_t | actionID, |
QVector< denMessageTableForwarding *> | table | ||
) |
haveDENM Check if the DENM exists in the denMessageTableForwarding
Definition at line 299 of file apiDenBasicService.cpp.
References isEqual_ActionID().
bool isDestinationAreaAvailable | ( | DestinationAreaData | pos | ) |
isDestinationAreaAvailable Check if the destination area is available.
pos | The destination area. |
Definition at line 405 of file apiDenBasicService.cpp.
References DestinationAreaData::geoAreaPosLatitude(), DestinationAreaData::geoAreaPosLongitude(), Latitude_unavailable, and Longitude_unavailable.
Referenced by gnDataRequestFromDestinationArea().
bool isReferencePositionAvailable | ( | ReferencePosition_t | pos | ) |
isReferencePositionAvailable Check if the reference position is available.
pos | The reference position. |
Definition at line 400 of file apiDenBasicService.cpp.
References ReferencePosition::latitude, Latitude_unavailable, ReferencePosition::longitude, and Longitude_unavailable.
Referenced by fill_ManagementContainer().