Commits (4)
...@@ -14,13 +14,13 @@ module LibItsCommon_ASN1_NamedNumbers { ...@@ -14,13 +14,13 @@ module LibItsCommon_ASN1_NamedNumbers {
const AccelerationConfidence AccelerationConfidence_outOfRange_ := 101; const AccelerationConfidence AccelerationConfidence_outOfRange_ := 101;
const AccelerationConfidence AccelerationConfidence_unavailable_ := 102; const AccelerationConfidence AccelerationConfidence_unavailable_ := 102;
const AccelerationControl AccelerationControl_brakePedalEngaged_ := '0000000'B; const AccelerationControl AccelerationControl_brakePedalEngaged_ := '1000000'B;
const AccelerationControl AccelerationControl_gasPedalEngaged_ := '0000001'B; const AccelerationControl AccelerationControl_gasPedalEngaged_ := '0100000'B;
const AccelerationControl AccelerationControl_emergencyBrakeEngaged_ := '0000010'B; const AccelerationControl AccelerationControl_emergencyBrakeEngaged_ := '0010000'B;
const AccelerationControl AccelerationControl_collisionWarningEngaged_ := '0000011'B; const AccelerationControl AccelerationControl_collisionWarningEngaged_ := '0001000'B;
const AccelerationControl AccelerationControl_accEngaged_ := '0000100'B; const AccelerationControl AccelerationControl_accEngaged_ := '0000100'B;
const AccelerationControl AccelerationControl_cruiseControlEngaged_ := '0000101'B; const AccelerationControl AccelerationControl_cruiseControlEngaged_ := '0000010'B;
const AccelerationControl AccelerationControl_speedLimiterEngaged_ := '0000110'B; const AccelerationControl AccelerationControl_speedLimiterEngaged_ := '0000001'B;
const AltitudeValue AltitudeValue_referenceEllipsoidSurface_ := 0; const AltitudeValue AltitudeValue_referenceEllipsoidSurface_ := 0;
const AltitudeValue AltitudeValue_oneCentimeter_ := 1; const AltitudeValue AltitudeValue_oneCentimeter_ := 1;
...@@ -31,7 +31,7 @@ module LibItsCommon_ASN1_NamedNumbers { ...@@ -31,7 +31,7 @@ module LibItsCommon_ASN1_NamedNumbers {
const CurvatureValue CurvatureValue_reciprocalOf1MeterRadiusToLeft_ := 30000; const CurvatureValue CurvatureValue_reciprocalOf1MeterRadiusToLeft_ := 30000;
const CurvatureValue CurvatureValue_unavailable_ := 30001; const CurvatureValue CurvatureValue_unavailable_ := 30001;
const ExteriorLights ExteriorLights_lowBeamHeadlightsOn_ := '00000000'B; const ExteriorLights ExteriorLights_lowBeamHeadlightsOn_ := '10000000'B;
const ExteriorLights ExteriorLights_highBeamHeadlightsOn_ := '01000000'B; const ExteriorLights ExteriorLights_highBeamHeadlightsOn_ := '01000000'B;
const ExteriorLights ExteriorLights_leftTurnSignalOn_ := '00100000'B; const ExteriorLights ExteriorLights_leftTurnSignalOn_ := '00100000'B;
const ExteriorLights ExteriorLights_rightTurnSignalOn_ := '00010000'B; const ExteriorLights ExteriorLights_rightTurnSignalOn_ := '00010000'B;
......
...@@ -220,6 +220,7 @@ module LibItsGeoNetworking_Functions { ...@@ -220,6 +220,7 @@ module LibItsGeoNetworking_Functions {
function f_cf02Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ { function f_cf02Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ {
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -261,7 +262,9 @@ module LibItsGeoNetworking_Functions { ...@@ -261,7 +262,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -317,6 +320,7 @@ module LibItsGeoNetworking_Functions { ...@@ -317,6 +320,7 @@ module LibItsGeoNetworking_Functions {
function f_cf03Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ { function f_cf03Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ {
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -358,7 +362,9 @@ module LibItsGeoNetworking_Functions { ...@@ -358,7 +362,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -417,6 +423,7 @@ module LibItsGeoNetworking_Functions { ...@@ -417,6 +423,7 @@ module LibItsGeoNetworking_Functions {
function f_cf04Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ { function f_cf04Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ {
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -458,7 +465,9 @@ module LibItsGeoNetworking_Functions { ...@@ -458,7 +465,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -513,6 +522,7 @@ module LibItsGeoNetworking_Functions { ...@@ -513,6 +522,7 @@ module LibItsGeoNetworking_Functions {
function f_cf05Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ { function f_cf05Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ {
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -554,7 +564,9 @@ module LibItsGeoNetworking_Functions { ...@@ -554,7 +564,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -608,6 +620,7 @@ module LibItsGeoNetworking_Functions { ...@@ -608,6 +620,7 @@ module LibItsGeoNetworking_Functions {
function f_cf06Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ { function f_cf06Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO: mtc ItsMtc system ItsGeoNetworkingSystem */ {
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -649,7 +662,9 @@ module LibItsGeoNetworking_Functions { ...@@ -649,7 +662,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -703,6 +718,7 @@ module LibItsGeoNetworking_Functions { ...@@ -703,6 +718,7 @@ module LibItsGeoNetworking_Functions {
function f_cf07Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO mtc ItsMtc system ItsGeoNetworkingSystem */{ function f_cf07Up(in charstring p_mainUtComponent := c_compMTC, Scenario p_scenario := e_staticPosition) runs on ItsMtc /* TITAN TODO mtc ItsMtc system ItsGeoNetworkingSystem */{
// Variables // Variables
var LongPosVector v_longPosVectorIut := valueof(m_dummyLongPosVector);
var PositionTable v_positionTable := {}; var PositionTable v_positionTable := {};
var GeoAreaTable v_areaTable := {}; var GeoAreaTable v_areaTable := {};
var ItsGeoNetworking v_component; var ItsGeoNetworking v_component;
...@@ -744,7 +760,9 @@ module LibItsGeoNetworking_Functions { ...@@ -744,7 +760,9 @@ module LibItsGeoNetworking_Functions {
} }
// Positions & Areas // Positions & Areas
f_preparePositionsAndAreas(v_positionTable, v_areaTable); vc_componentTable[0].gnComponent.start(f_getIutLongPosVector_1(v_longPosVectorIut)); // Get positions
vc_componentTable[0].gnComponent.done;
f_preparePositionsAndAreas(v_positionTable, v_areaTable, v_longPosVectorIut);
// Initialize components // Initialize components
for(i:=0; i < lengthof(vc_componentTable); i:=i+1) { for(i:=0; i < lengthof(vc_componentTable); i:=i+1) {
...@@ -781,7 +799,7 @@ module LibItsGeoNetworking_Functions { ...@@ -781,7 +799,7 @@ module LibItsGeoNetworking_Functions {
unmap(self:utPort, system:utPort); unmap(self:utPort, system:utPort);
disconnect(self:syncPort, mtc:syncPort); disconnect(self:syncPort, mtc:syncPort);
} // end f_cf0yDown } // end f_cf07Down
/** /**
* @desc Behavior function for initializing component's variables and tables * @desc Behavior function for initializing component's variables and tables
...@@ -898,13 +916,18 @@ module LibItsGeoNetworking_Functions { ...@@ -898,13 +916,18 @@ module LibItsGeoNetworking_Functions {
*/ */
function f_preparePositionsAndAreas( function f_preparePositionsAndAreas(
inout PositionTable p_positionTable, inout PositionTable p_positionTable,
inout GeoAreaTable p_areaTable inout GeoAreaTable p_areaTable,
in template (omit) LongPosVector p_longPosVectorIut := omit
) runs on ItsBaseGeoNetworking { ) runs on ItsBaseGeoNetworking {
var LongPosVector v_longPosVectorIut, v_longPosVectorNodeA, v_longPosVectorNodeB, v_longPosVectorNodeC, v_longPosVectorNodeD, v_longPosVectorNodeE, v_longPosVectorNodeF; var LongPosVector v_longPosVectorIut, v_longPosVectorNodeA, v_longPosVectorNodeB, v_longPosVectorNodeC, v_longPosVectorNodeD, v_longPosVectorNodeE, v_longPosVectorNodeF;
// Get positions // Get positions
if (not(ispresent(p_longPosVectorIut))) {
v_longPosVectorIut := f_getIutLongPosVector(); v_longPosVectorIut := f_getIutLongPosVector();
} else {
v_longPosVectorIut := valueof(p_longPosVectorIut);
}
v_longPosVectorNodeA := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeA, c_latitudeFactorNodeA); v_longPosVectorNodeA := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeA, c_latitudeFactorNodeA);
v_longPosVectorNodeB := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeB, c_latitudeFactorNodeB); v_longPosVectorNodeB := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeB, c_latitudeFactorNodeB);
v_longPosVectorNodeC := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeC, c_latitudeFactorNodeC); v_longPosVectorNodeC := f_computePosition(v_longPosVectorIut, c_longitudeFactorNodeC, c_latitudeFactorNodeC);
...@@ -2492,6 +2515,9 @@ module LibItsGeoNetworking_Functions { ...@@ -2492,6 +2515,9 @@ module LibItsGeoNetworking_Functions {
function f_getIutLongPosVector() runs on ItsBaseGeoNetworking return LongPosVector { function f_getIutLongPosVector() runs on ItsBaseGeoNetworking return LongPosVector {
return f_acGetLongPosVector(f_getIutGnLocalAddress()); return f_acGetLongPosVector(f_getIutGnLocalAddress());
} }
function f_getIutLongPosVector_1(inout LongPosVector p_longPosVectorIut) runs on ItsGeoNetworking {
p_longPosVectorIut := f_acGetLongPosVector(f_getIutGnLocalAddress());
}
/** /**
* @desc Get IUT's short position vector * @desc Get IUT's short position vector
......
...@@ -993,7 +993,7 @@ module LibItsGeoNetworking_Templates { ...@@ -993,7 +993,7 @@ module LibItsGeoNetworking_Templates {
p_sourceLongPosVec, p_sourceLongPosVec,
p_seqNumber p_seqNumber
), ),
payload := ? payload := *
} }
/** /**
......