Files
MicrOBU/microbu-esp32c5/external/vanetza-idf/vanetza/geonet/mib.cpp
T
Ashin Walpola 0e9525162d Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
2026-09-23 17:46:40 +02:00

67 lines
2.3 KiB
C++

#include "mib.hpp"
#include <boost/units/systems/si/prefixes.hpp>
namespace vanetza
{
namespace geonet
{
using namespace vanetza::units::si;
using vanetza::units::degrees;
using boost::units::si::kilo;
using boost::units::si::milli;
const auto milliseconds = milli * seconds;
ManagementInformationBase::ManagementInformationBase() :
itsGnLocalAddrConfMethod(AddrConfMethod::Managed),
itsGnProtocolVersion(1),
itsGnIsMobile(true),
itsGnIfType(InterfaceType::ITS_G5),
itsGnMinimumUpdateFrequencyEPV(1.0 / (1000.0 * milliseconds)),
itsGnPaiInterval(80 * meters),
itsGnMaxSduSize(1398),
itsGnMaxGeoNetworkingHeaderSize(88),
itsGnLifetimeLocTE(20 * seconds),
itsGnSecurity(false),
itsGnSnDecapResultHandling(SecurityDecapHandling::Strict),
itsGnLocationServiceMaxRetrans(10),
itsGnLocationServiceRetransmitTimer(1 * seconds),
itsGnLocationServicePacketBufferSize(1024),
itsGnBeaconServiceRetransmitTimer(3 * seconds),
itsGnBeaconServiceMaxJitter(itsGnBeaconServiceRetransmitTimer / 4.0),
itsGnDefaultHopLimit(10),
itsGnDPLLength(8),
itsGnMaxPacketLifetime(Lifetime::Base::Hundred_Seconds, 6),
itsGnDefaultPacketLifetime(Lifetime::Base::Ten_Seconds, 6),
itsGnMaxPacketDataRate(100),
itsGnMaxPacketDataRateEmaBeta(0.9),
itsGnMaxGeoAreaSize(10 * kilo * kilo * square_meters),
itsGnMinPacketRepetitionInterval(100 * milliseconds),
itsGnNonAreaForwardingAlgorithm(UnicastForwarding::Greedy),
itsGnAreaForwardingAlgorithm(BroadcastForwarding::CBF),
itsGnCbfMinTime(1 * milliseconds),
itsGnCbfMaxTime(100 * milliseconds),
itsGnDefaultMaxCommunicationRange(1000 * meters),
itsGnBroadcastCBFDefSectorAngle(30 * degrees),
itsGnUcForwardingPacketBufferSize(256),
itsGnBcForwardingPacketBufferSize(1024),
itsGnCbfPacketBufferSize(256),
itsGnDefaultTrafficClass(false, false, 0),
vanetzaDefaultSeed(0xc0114c2c),
vanetzaCbfMaxCounter(1),
vanetzaDeferInitialBeacon(Clock::duration::zero()),
vanetzaDisableBeaconing(false),
vanetzaMultiHopDuplicateAddressDetection(false),
vanetzaFadingCbfCounter(false),
vanetzaFadingCbfCounterLifetime(4.0 * itsGnCbfMaxTime),
vanetzaNeighbourFlagExpiry(Clock::duration::zero()),
vanetzaGbcMemoryCapacity(0),
vanetzaGbcPassUpOutsideDestination(false)
{
}
} // namespace geonet
} // namespace vanetza