Skip to content

Veins 5.0

Compare
Choose a tag to compare
@sommer sommer released this 12 Oct 17:09
· 186 commits to master since this release

This is the current release of Veins.
If you are upgrading from a previous version, as it is a massive re-write of Veins, user-written models will likely need to be upgraded to work with this version.
See the documentation on upgrading for a brief summary.
Major changes are summarized below (see also the previous notes).
All changes to the base models (along with necessary changes to upgrade the included tutorial simulation) can be found in the Git commit log.

New in Veins 5.0:

  • veins_inet3: update to INET 3.6.5
  • veins_inet3: bugfix magnitude of speed vector
  • signal manager: bugfix use after free

New in Veins 5.0-alpha2:

  • Fix 802.11p payload bit error calculation to ignore first OFDM symbol (SIGNAL field)
  • Fix building on Windows
  • Add Veins version macros (notably, VEINS_VERSION_MAJOR and VEINS_VERSION_MINOR) to veins/veins.h
  • Rename namespace from "Veins" to "veins"
  • mobility: Allow orientation!=direction (now enforced only by TraCIMobility)
  • "Namespaced" naming of OMNeT++ signals changed to org_car2x_veins_...
  • obstacles: Speed up calculations by up to an order of magnitude (thanks Dominik Buse)
  • vehicle obstacles: Make independent from TraCI, refactor to MobileHostObstacle
  • vehicle obstacles: Separate finding intersections from calculating attenuation
  • Improve ./run script to wait for process termination on Windows
  • Improve tests
  • Add license headers as well as SPDX-License-Identifier comments to every file
  • TimerManager: allow repeating timers to be canceled in their own handlers
  • New SignalManager: similar to TimerManager, allow subscribing to signals with, e.g., C++11 lambdas (thanks Dominik Buse)
  • Improve documentation
  • traci: more commands, particularly for controlling a GUI
  • traci: merge query and queryOptional
  • traci: add SUMO's generic vehicle parameter API (thanks Michele Segata)
  • veins_inet: update to INET 4.1.1 (but change wlan.opMode from "p" to "a" to work around a bug)
  • Ease using Veins as external dependency of a project (e.g., Plexe Veins and Veins VLC)
  • Support SUMO 1.2.0
  • Support OMNeT++ 5.5.1

New in Veins 5.0-alpha1:

  • Rewrite PHY to use simpler signal representation and short circuiting evaluation (up to 10x speed increase; thanks to Fabian Bronner)
  • Add support for multiple PHYs and per-PHY antenna offset
  • Add support for linearly extrapolating node/antenna position between position updates
  • Add support for treating vehicles as radio obstacles (was a separate branch)
  • Add (and apply) .clang-format and uncrustify.cfg for formatting code consistently (replace all tabs by spaces, remove hard line breaks, ...)
  • Add TraCI method for enumerating POIs
  • Add TraCI methods for converting cartesian coordinates to road map locations (thanks to Hamzah Abdelaziz)
  • Add TraCI methods for lane area detectors (thanks to Filippo Leveni)
  • Add TraCI methods for reading vehicle CO2, CO, HC, PMx, NOx, Noise emissions, Fuel/Electricity consumption
  • Add TraCI methods for reading vehicle color, width, height, accel, decel
  • Add TraCI methods for reading vehicle waiting time
  • Remove TraCI methods for parking vehicles
  • Refactor for C++11 (thanks to Dominik Buse, Max Schettler, Julian Heinovski) and move everything to namespace Veins
  • Refactor for OMNeT++ 5 (e.g., use EV_{loglevel} macros instead of debug/coreDebug .ned parameters, remove simsignalwrap_t)
  • Refactor programmatic vehicle insertion from part of TraCIScenarioManager into its own module, TraCIVehicleInserter
  • Refactor PHY to be less 802.11p centric and more modular (thanks to Agon Memedi)
  • Rename central include header to veins/veins.h
  • Rename WaveShortMessage to BaseFrame1609_4
  • Rename BaseWaveApplLayer, BasicSafetyMessage, WaveServiceAdvertisement to DemoBaseApplLayer, DemoSafetyMessage, DemoServiceAdvertisement
  • Rename PHY parameters to avoid confusion about their intent and adapt tutorial simulation parameters to realistic values
  • Move smoke tests into a subproject (veins_testsims)
  • Change top-level Makefile to (by default) build both debug and release targets
  • Emit OMNeT++ signal when vehicles are added or removed
  • Fix memory leaks
  • Merge run scripts (from ./run -u Cmdenv and ./debug -u Cmdenv to ./run --debug --tool gdb -- -u Cmdenv; this also allows using lldb and valgrind both with and without a debug build)
  • Rename veins_inet to veins_inet3 (and update for INET 3.6.4)
  • Add new veins_inet for INET 4.0.0 (does not build on Windows - upstream bug yet to be fixed)
  • Remove support for OMNeT++ 4, require OMNeT++ 5 (recommend OMNeT++ 5.4.1)
  • Update for (and require) SUMO 1.0.0