Newer
Older
* @desc Gets the LS retransmission timer.. Valid for NetRepInterval = default (cong. ctrl).
* @return
*/
function f_getLSRetransmitTimer() return float {
var float v_itsGnLocationServiceRetransmitTimer := int2float(PICS_GN_LOCATION_SERVICE_RETRANSMIT_TIMER/1000);
return v_itsGnLocationServiceRetransmitTimer;
}
* @desc Gets the LS retransmission timer for NetRepInterval = medium (cong. ctrl).
* @return
*/
function f_getLSRetransmitTimerMedium() return float {
var float v_itsGnLocationServiceRetransmitTimerMedium := int2float(PIXIT_GN_LOCATION_SERVICE_TIMER_MEDIUM/1000);
* @desc Gets the LS retransmission timer for NetRepInterval = maximum (cong. ctrl).
* @return
*/
function f_getLSRetransmitTimerMaximum() return float {
var float v_itsGnLocationServiceRetransmitTimerMaximum := int2float(PIXIT_GN_LOCATION_SERVICE_TIMER_MAXIMUM/1000);
/**
* @desc Gets the App retransmission timer. Valid for AppRepInterval = default (cong. ctrl).
* @return
*/
function f_getAppRetransmitTimer() return float {
var float v_itsGnLocationApplicationRetransmitTimer := int2float(PX_GN_APPLICATION_RETRANSMIT_TIMER/1000);
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
}
/**
* @desc Gets the App retransmission timer for AppRepInterval = medium (cong. ctrl).
* @return
*/
function f_getAppRetransmitTimerMedium() return float {
var float v_itsGnLocationServiceRetransmitTimer := 2.0;
//TODO get the value from PIXIT or MIB
return v_itsGnLocationServiceRetransmitTimer;
}
/**
* @desc Gets the App retransmission timer for AppRepInterval = maximum (cong. ctrl).
* @return
*/
function f_getAppRetransmitTimerMaximum() return float {
var float v_itsGnLocationServiceRetransmitTimer := 3.0;
//TODO get the value from PIXIT or MIB
return v_itsGnLocationServiceRetransmitTimer;
}
/**
* @desc Gets the LS maximum retransmission number.
* @return
*/
function f_getLSMaxRetrans() return integer {
var integer v_itsGnLocationServiceMaxRetrans := PICS_GN_LOCATION_SERVICE_MAX_RETRANS;
return v_itsGnLocationServiceMaxRetrans;
}
/**
* @desc Gets the Application maximum retransmission number.
* @return
*/
function f_getAppMaxRetrans() return integer {
var integer v_itsGnLocationServiceMaxRetrans := 10;
//TODO get the value from PIXIT or MIB
return v_itsGnLocationServiceMaxRetrans;
}
/**
* @desc Gets the Location Service packet buffer size.
* @return
*/
function f_getLSPacketBufferSize() return integer {
var integer v_itsGnLocationServicePacketBufferSize := PICS_GN_LOCATION_SERVICE_PACKET_BUFFER_SIZE;
return v_itsGnLocationServicePacketBufferSize;
} // end f_getLSPacketBufferSize
/**
* @desc Gets the UC forwarding packet buffer size.
* @return
*/
function f_getUcForwardingPacketBufferSize() return integer {
var integer v_itsGnUcForwardingPacketBufferSize := PICS_GN_UC_FORWARDING_PACKET_BUFFER_SIZE;
return v_itsGnUcForwardingPacketBufferSize;
} // end f_getUcForwardingPacketBufferSize
/**
* @desc Gets the BC forwarding packet buffer size.
* @return
*/
function f_getBcForwardingPacketBufferSize() return integer {
var integer v_itsGnBcForwardingPacketBufferSize := PICS_GN_BC_FORWARDING_PACKET_BUFFER_SIZE;
return v_itsGnBcForwardingPacketBufferSize;
} // end f_getBcForwardingPacketBufferSize
/**
* @desc Gets the upper limit of the maximum lifetime.
* @return
*/
function f_getMaxPacketLifeTime() return float {
var float v_itsGnMaxPacketLifetime := int2float(PICS_GN_MAX_PACKET_LIFETIME);
return v_itsGnMaxPacketLifetime;
}
/**
* @desc Gets delta for timers.
* @return
*/
function f_getDeltaTimer() return float {
return v_deltaTimer;
}
/**
* @desc Gets the beacon service retransmit timer.
* @return
*/
function f_getBSRetransmitTimer() return float {
var float v_itsGnBeaconServiceRetransmitTimer;
v_itsGnBeaconServiceRetransmitTimer := int2float(
(PICS_GN_BEACON_SERVICE_TIMER+float2int((f_getBSMaxJitter() - 0.0 +1.0)*rnd()) + 0)/1000);
return v_itsGnBeaconServiceRetransmitTimer;
}
/**
* @desc Gets the beacon service retransmit timer for NetBeaconInterval = medium (cong. ctrl).
* @return
*/
function f_getBSRetransmitTimerMedium() return float {
var float v_itsGnBeaconServiceRetransmitTimerMedium; // timer value increased (medium)
v_itsGnBeaconServiceRetransmitTimerMedium := int2float(
(PX_GN_BEACON_SERVICE_TIMER_MEDIUM+float2int((f_getBSMaxJitter() - 0.0 +1.0)*rnd()) + 0)/1000);
}
/**
* @desc Gets the beacon service retransmit timer for NetBeaconInterval = maximum (cong. ctrl).
* @return
*/
function f_getBSRetransmitTimerMaximum() return float {
var float v_itsGnBeaconServiceRetransmitTimerMaximum; // timer value increased (maximum)
v_itsGnBeaconServiceRetransmitTimerMaximum := int2float(
(PX_GN_BEACON_SERVICE_TIMER_MAXIMUM+float2int((f_getBSMaxJitter() - 0.0 +1.0)*rnd()) + 0)/1000);
/**
* @desc Gets the maximum beacon service jitter.
* @return
*/
function f_getBSMaxJitter() return float {
var float v_itsGnBeaconServiceMaxJitter := (f_getMaxPacketLifeTime()*1000.0)/4.0;
return v_itsGnBeaconServiceMaxJitter;
}
/**
* @desc Gets the Lifetime of a Location Table Entry.
* @return
*/
function f_getLifetimeLocTE() return float {
var float v_itsGnLifetimeLocTE := int2float(PICS_GN_LIFETIME_LOC_TE);
return v_itsGnLifetimeLocTE;
} // end f_getLifetimeLocTE
/**
* @desc Set the number of neighbour in the Location Table.
* @return
*/
function f_setNrNeighbourLocTableDefault() {
var integer v_nrNeighbour := f_random (0, PX_MIN_NR_NEIGHBOUR);
//TODO set the number of Neighbour in the IUT Location Table to v_nrNeighbour
} // end f_setNrNeighbourLT
/**
* @desc Set the number of neighbour in the Location Table.
* @return
*/
function f_setNrNeighbourLocTableMedium() {
var integer v_nrNeighbour := f_random (PX_MIN_NR_NEIGHBOUR, PX_MAX_NR_NEIGHBOUR);
//TODO set the number of Neighbour in the IUT Location Table to v_nrNeighbour
} // end f_setNrNeighbourLT
/**
* @desc Set the number of neighbour in the Location Table.
* @return
*/
function f_setNrNeighbourLocTableMaximum() {
var integer v_nrNeighbour := f_random (PX_MAX_NR_NEIGHBOUR, (2*PX_MIN_NR_NEIGHBOUR));
//TODO set the number of Neighbour in the IUT Location Table to v_nrNeighbour
} // end f_setNrNeighbourLT
} // end iutFunctions
function f_longPosVector2ShortPosVector(in LongPosVector p_longPosVector) return ShortPosVector {
var ShortPosVector v_shortPosVector;
v_shortPosVector := {
gnAddr := p_longPosVector.gnAddr,
timestamp := p_longPosVector.timestamp,
latitude := p_longPosVector.latitude,
longitude := p_longPosVector.longitude
};
function f_getIutLongPosVector() return LongPosVector {
var LongPosVector v_longPosVector := valueof(m_dummyLongPosVector);
//TODO
return v_longPosVector;
}
function f_getIutShortPosVector() return ShortPosVector {
return f_longPosVector2ShortPosVector(f_getIutLongPosVector());
group externalFunctions {
external function fx_computeDistance(
in UInt32 p_latitudeA, in UInt32 p_longitudeA,
in UInt32 p_latitudeB, in UInt32 p_longitudeB
) return float;
}